我有一个SSIS包,它有一个SQL任务,它将当前日期格式化为DDMMMYY,并将其传递给数据流任务,该任务将日期放入输出文件名中
我一直收到
错误:分配给变量的值(Int32(的类型"User::DDMMMYY"与当前变量类型(String(不同。变量在执行过程中不能更改类型。变量类型为strict,Object类型的变量除外。
Int32来自哪里
- ForcedExceptionValueType为字符串
- ParameterMappingDataType为VARCHAR
在Package Explorer中,变量的ValueType
为String
最初,ForcedExecutionValueType是Int32,因为这是当前正在生产的另一个SSIS包中的值(尽管它运行的服务器比我的Windows 10计算机旧(
很可能是两件事中的一件。
- SQL查询在格式化为DDMMMYY时返回一个int。在查询中将其强制转换为Varchar。
SELECT CONVERT(Varchar(8),'20191025')
- 将值分配给SSIS变量后,可以在表达式中使用该值,并尝试将另一个Int32类型的值或变量连接到该值或变量。因此,在表达式中将其强制转换为字符串或unicode。
(DT_STR,50,1252)@[User::Variable]