我有一个临时文件夹C:\Mydata
,我有.csv
个文件名
demo1.csv
demo2.csv
...等
现在我想将所有这些文件中的数据插入数据库表
为此我在{I} Foreach Loop Container
中提到了Directory
C:\Mydata
Foreach Loop Container
内Data Flow Task
内Flat File Source
内file name
内.csv
中的连接管理器属性中有C:\DEMO\*.csv
我应该提及什么,以便它遍历所有文件夹和所有文件扩展名为no file found path is wrong
我确实喜欢{{1}}这给了我错误:
{{1}}
答案 0 :(得分:3)
根据我的解释,您的问题是将结果文件从foreach分配给连接器。
为此,您需要将Foreach中的文件名分配给变量。
要采取的第一步是创建变量。为此,您需要激活“变量”窗口:
然后你需要创建一个string类型的新变量并重命名它。
有关SSIS变量及其创建方法的更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms140216.aspx
现在你需要将新变量(在本例中我命名为“filename”)分配给foreach循环: 请注意,在第一个窗口中选择“仅限名称”选项时,在您的情况下,您可能希望“完全合格”!!
屏幕截图取自我所拥有的工作项目,我只使用名称(仅限名称)而不是完整路径(完全合格)
执行此操作后,您需要使用表达式将该变量分配给平面文件连接器:
答案 1 :(得分:2)
您使用的是哪个版本的MSSQL和SSIS?你为什么在一个地方使用C:\ Mydata而在另一个地方使用C:\ DEMO?
描述了循环文件的基本技术here。
在文档和网络上有很多关于这些步骤的信息。如果您需要更多帮助,请尽可能具体说明您尝试过的内容,哪些内容无效,您正在使用哪些版本等。