CADILLAC_AC
CADILLAC_AC
2021-01-15 09:02

SSIS批量导入csv文件到SQL SERVER过程中,OLEDB目标设置动态表名出现问题

50
  • microsoft
  • 数据挖掘
  • sql
  • visual studio

需求是将 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表不存在呢?

  • 点赞
  • 收藏
  • 复制链接分享

13条回答

为你推荐

换一换