循环遍历 XLSM 文件 SSIS 2012
Loop through XLSM files SSIS 2012
我有一堆启用宏的 Excel 文件。我想用 SQL 查询 - select * from [Sheet1$A10:AZ100]
遍历其中的每一个。当我选择一个文件时,我的 Excel 连接管理器可以工作,但是当我添加 For Each 循环任务并将我的变量分配给它时出现了一个大问题。
我的步骤是:
创建新连接:Excel连接管理器
我选择文件夹中的第一个 XLSM 文件并点击确定。
拖放每个循环容器并双击。
在集合中:我选择 For Each File Enumerator 并在 Folder 中指定文件夹路径。在文件中:*.xlsm 最后一个选项是:完全合格
在变量映射中:我创建了一个名为 'FileFound'
的新变量
在 For Each Container 中拖放数据流任务并双击。
拖动源助手:选择Excel上面创建的连接管理器
双击 Excel 源和数据访问模式:我选择 SQL 命令。我的查询是 select * from [Sheet1$A10:AZ100]
。此查询对于所有 XLSM 文件都是相同的。
点击列,我的数据显示一切OK
这就是问题开始的地方-
右键单击 Excel 连接管理器并点击属性。
我先复制我的连接字符串。我的连接字符串是:Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES";
我单击表达式并选择 属性 中的连接字符串。接下来,我将表达式编辑为:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";"
这评估正确。
然后我将 Excel 连接管理器的延迟验证设置为 TRUE
- 我将每个容器的延迟验证设置为 TRUE
我得到的错误是:
我该如何解决这个错误?我已经尝试了很多并阅读了所有内容,但无法超越这一点。
我修好了!!
我必须右键单击 'Excel Connection Manager' 的属性,而不是在扩展属性中选择 ConnectionString
,我必须选择 Excel File Path
。
我有一堆启用宏的 Excel 文件。我想用 SQL 查询 - select * from [Sheet1$A10:AZ100]
遍历其中的每一个。当我选择一个文件时,我的 Excel 连接管理器可以工作,但是当我添加 For Each 循环任务并将我的变量分配给它时出现了一个大问题。
我的步骤是:
创建新连接:Excel连接管理器 我选择文件夹中的第一个 XLSM 文件并点击确定。
拖放每个循环容器并双击。 在集合中:我选择 For Each File Enumerator 并在 Folder 中指定文件夹路径。在文件中:*.xlsm 最后一个选项是:完全合格
在变量映射中:我创建了一个名为 'FileFound' 的新变量
在 For Each Container 中拖放数据流任务并双击。
拖动源助手:选择Excel上面创建的连接管理器
双击 Excel 源和数据访问模式:我选择 SQL 命令。我的查询是
select * from [Sheet1$A10:AZ100]
。此查询对于所有 XLSM 文件都是相同的。点击列,我的数据显示一切OK
这就是问题开始的地方-
右键单击 Excel 连接管理器并点击属性。
我先复制我的连接字符串。我的连接字符串是:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Excel data\ABCDE.xlsm;Extended Properties="Excel 12.0 MACRO;HDR=YES";
我单击表达式并选择 属性 中的连接字符串。接下来,我将表达式编辑为:
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @[User::FileFound] + " ;Extended Properties=\"Excel 12.0 MACRO;HDR=YES\";"
这评估正确。然后我将 Excel 连接管理器的延迟验证设置为 TRUE
- 我将每个容器的延迟验证设置为 TRUE
我得到的错误是:
我该如何解决这个错误?我已经尝试了很多并阅读了所有内容,但无法超越这一点。
我修好了!!
我必须右键单击 'Excel Connection Manager' 的属性,而不是在扩展属性中选择 ConnectionString
,我必须选择 Excel File Path
。