在 Visual Studio SSIS 包中使用 SQL Server 表值作为变量值

问题描述 投票:0回答:1

我有一个 SQL Server 表,其中只有两个单列行,这两个值会不时发生变化。例如,现在的表格可能如下所示:

这是我的列名
超级加州脆弱
Expedidocious

我还有一个 Visual Studio SSIS 项目,其中包含名为

MySQLValueOne
MySQLValueTwo
(均为“字符串”数据类型)的变量。

我需要 Visual Studio 访问我的 SQL Server 表,获取“两个”值,并使用表中的这些值更新我的变量。完成后,我将拥有如下所示的 SSIS 包变量:

姓名MySQLValueOneMySQLValueTwo
数据类型 价值
字符串 超级加州脆弱
字符串 Expedidocious
注意:这些值分配给变量的
顺序

并不重要,只要我的 SQL Server 表中的两项在两个 SSIS 包变量之间表示即可。 如有任何帮助,我们将不胜感激。

我已经厌倦了使用 ForLoop 将该表中的值读入我的 SSIS 包中的变量中,但我似乎无法将这两个值读入单独的值(不确定我是否尝试正确使用它) .

我也尝试过使用 SQL 任务,但我还不够熟悉,无法将两个结果值识别到单独的包变量中。

sql-server ssis
1个回答
0
投票

DECLARE @tbl TABLE (col VARCHAR(30)); INSERT @tbl (col) VALUES ('Supercalifragilistic'), ('Expealidocious'); SELECT * FROM @tbl; SELECT TOP(1) col AS col1 , LEAD(col) OVER (ORDER BY @@SPID DESC) AS col2 FROM @tbl ORDER BY @@SPID;

现在回到 SSIS 执行 SQL 任务

SQL语句

SELECT TOP(1) ? = col , ? = LEAD(col) OVER (ORDER BY @@SPID DESC) FROM @tbl ORDER BY @@SPID;

参数映射选项卡

使用方向添加两个变量:输出

User::MySQLValueOne Output String 0 User::MySQLValueTwo Output String 1

© www.soinside.com 2019 - 2024. All rights reserved.