我按照这里提到的bilinkc的帖子
how to load extracted file name into sql server table in SSIS
我在For Each容器中的数据任务中将此提取的文件名用在名为FileName的变量中。但是当我想在连续的执行SQL任务中使用相同的变量时,它会抛出错误
[执行SQL任务]错误:执行查询“
INSERT INTO HOURLY_DATA ...“失败并出现以下错误:”多步OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。没有工作。“。可能的失败原因:查询问题,”ResultSet“属性设置不正确,参数设置不正确或连接未正确建立。
参数设置:数据类型为VARCHAR参数名称为0,参数长度为1000.
无论如何都可以解决这个错误。当我检查其他帖子时,他们说它与TEXT长度错误有关,但我无法理解我的方案。
完整查询如下:
这是完整的查询:
INSERT INTO HOURLY_DATA (UNIQUE_NUM,NAME,FILE_NAME,USER_NAME) SELECT DISTINCT UNIQUE_NUM,'MANUS',?,'MENON' 来自MY_TABLE 在哪里UNIQUE_NUM不是空
对于参数变量,我定义了一个包级别变量,它取决于这个表达式:
REPLACE(REPLACE(REPLACE(@ [User :: varFilePath],@ [User :: varSourceFolder],“”),“\”,“”),“我的文件”,“”),“。 XLSX”, “”)
但是当我评估这个表达时,没有任何事情发生。这个变量可能是问题吗?
提前感谢您的时间和帮助。