我现在已经搜索了大约一个星期,我想知道是否有人可能有线索。我写了一个包来做以下事情:
循环访问具有特定命名结构的csv的父文件夹及其子文件夹(正常工作)
根据每个文件的枚举(工作)为每个.csv创建一个表。
将数据导入到自己的表中的sql server中,文件名是作为表名创建的,而不是OLE DB Destination(不起作用)。如果它存在所有内容的目标文件夹,但是当我使用不起作用的表变量时,它可以工作。
我所做的是为每个容器添加一个执行SQL任务,以创建一个表,该表包含文件路径的变量,该表被映射为属性sqlstatementsource表达式下的create table查询中for each容器中的表达式。这些表是创建的,但是当我使用为每个循环映射的变量作为OLE DB目标中的表名或变量时,我收到一个错误,要求我检查表是否存在。表已创建,但我无法将数据插入到自己的表中。即使我绕过&#34的错误;还没有提供目的地表"并运行包。我将delayValidation设置为true,但仍然没有。从我到目前为止看到的SSIS做了一些很酷的事情。但是,我现在被困住了。还有什么我做错了?
我忘了提到数据将转到sql server。
感谢您的一切。
答案 0 :(得分:0)
您无法在设计时使用表名变量创建OLEDB目标。 OLEDB目标需要知道表名和列,以便它可以将数据流预先映射到表列。
您还有其他几种选择: