我以前有过Packages,我在文件夹中循环多个Text文件并加载到sql server表中。
现在我被要求创建一个包,它将遍历文件夹中的多个Excel文件并将它们加载到sql server表中。
我通过以下步骤创建了这个软件包,假设它不应该与我在其他软件包中循环通过多个Flat文件的软件包有很大的不同。
Execute Sql Task
,截断我的临时表,一个简单的Truncate表语句。 添加了Foreach Loop Container
。选中Foreach File Enumerator
并创建一个名为File_Path
的变量,其数据类型为字符串。
添加了Data Flow Task
。
Excel Data Source
。并配置Excel Connection manager
选择任何一个' Excel'目标文件夹中的文件。 (此时配置正确,因为它没有显示任何红叉或交战消息。)Excel File Connection Manager
和Properties
窗口Expressions
下的所选Connection String
属性,并使用了用户变量@User::File_Path
。
此时,Excel数据源显示Red Cross
,因为它需要进一步配置。
我尝试了一些事情,例如将Data Access Mode
从Table name
更改为Table Name or View Name Variable
,并传递变量@User::File_Path
,但它会给我以下错误。
有人可以查看我出错的地方和建议,以及如何解决这个问题?非常感谢任何建议或正确方向的指针。
谢谢。
答案 0 :(得分:1)
您不应在ConnectionString属性上使用表达式,而应在 ExcelFilePath 属性上使用。