SSIS-正在尝试传递格式化日期以应用于文件名



我有一个SSIS包,它有一个SQL任务,它将当前日期格式化为DDMMMYY,并将其传递给数据流任务,该任务将日期放入输出文件名中

我一直收到

错误:分配给变量的值(Int32(的类型"User::DDMMMYY"与当前变量类型(String(不同。变量在执行过程中不能更改类型。变量类型为strict,Object类型的变量除外。

Int32来自哪里

  • ForcedExceptionValueType为字符串
  • ParameterMappingDataType为VARCHAR

在Package Explorer中,变量的ValueTypeString

最初,ForcedExecutionValueType是Int32,因为这是当前正在生产的另一个SSIS包中的值(尽管它运行的服务器比我的Windows 10计算机旧(

很可能是两件事中的一件。

  1. SQL查询在格式化为DDMMMYY时返回一个int。在查询中将其强制转换为Varchar。SELECT CONVERT(Varchar(8),'20191025')
  2. 将值分配给SSIS变量后,可以在表达式中使用该值,并尝试将另一个Int32类型的值或变量连接到该值或变量。因此,在表达式中将其强制转换为字符串或unicode。(DT_STR,50,1252)@[User::Variable]

最新更新