需求是将 001.csv、002.csv,003.csv等一系列文件导入SQL SERVER,对应的001、002、003表中去。
001、002、003表都在SQL SERVER中建好了。
为此用了FOREACH循环容器,设置好目录和变量Fullpath,添加一个“数据流任务”,增加数据流源,连好数据源表,然后在增加一个数据流目标,在“数据访问模式中”选择“表名变量或视图名变量”,然后这时“变量名称”中就出现了我设的全局变量Fullpath,设置了验证延迟。
执行过程中,出现OLEDB 目标出现错误:
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E37.
Opening a rowset for "001" failed. Check that the object exists in the database.
错误: 0xC004706B,位于 数据流任务, SSIS.Pipeline: "OLE DB 目标" failed validation and returned validation status "VS_ISBROKEN".
错误: 0xC004700C,位于 数据流任务, SSIS.Pipeline: One or more component failed validation.
但是001、002、003表其实是存在的,并且,如果我选择固定表001的话,是可以执行通过的。
为什么用变量做表名的时候,会显示001表不存在呢?