sql - 在 OLEDB 源变量窗口中读取 for-each-loop 容器变量

标签 sql sql-server excel ssis etl

我创建了一个名为 QueryTable 的表,它存储 4 个 SQL 查询,每个查询都有不同的元数据

enter image description here

我想将这四个查询结果存储在Excel表中

首先,我获取了可执行的 SQL 任务,并将连接和结果集配置为完整结果集、查询语句。

enter image description here

之后,打开“结果集”选项卡并创建 Query_variable 作为对象类型。

enter image description here

2)拖动For-Each_loop容器并在集合部分设置Foreach ADO Enumerator并分配Query_variable

enter image description here

在变量映射部分创建新变量作为字符串类型来存储四个查询。结果。

enter image description here

3) 最后添加一个数据流任务,使用相同的变量添加 OLEDB 源配置(我已为每个循环容器提供了该变量)。

现在它显示的是我在 User::Variable 中给出的默认值

enter image description here

我可以迭代相同的列数(元数据)查询并将其存储在 Excel 目标中

enter image description here

但问题是当变量转到下一个包含更少或更多列的查询时。这里包失败无法处理不同的元数据表

enter image description here

请帮助我,我们可以同时迭代不同的元数据查询并获得正确的输出吗?

我希望我能准确解释我所面临的问题

最佳答案

User::Variable的默认值设置为其中一个查询,以便BIDS可以在设计时验证它。

您还可以尝试将“DelayValidation”设置为 true,但在这种情况下这可能还不够。

关于sql - 在 OLEDB 源变量窗口中读取 for-each-loop 容器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57865863/

相关文章:

sql - 峰度函数表现不佳

java - 将 Pushy 与 ALPN 和 MSSQL Jdbc 驱动程序一起使用会引发 java.lang.IllegalAccessError

sql - 将主键更改为复合键(主键已存在)

excel - 解决一种具有多个背包和约束的背包概率

excel - Excel 下拉框是否可以像带有用于多项选择的复选框的列表框一样?

sql - 如何查找违反参照完整性的记录

sql - 无法加载资源文件 sqlcmd.rll

java - 查询不适用于 SQL Server 2008 中的表

Excel:ClearContent 保留公式

mysql - SQL:在不知道总输入量的情况下跳过订单中的条目