我有一个 SQL Server 表,其中只有两个单列行,这两个值会不时发生变化。例如,现在的表格可能如下所示:
这是我的列名 |
---|
超级加州脆弱 |
Expedidocious |
我还有一个 Visual Studio SSIS 项目,其中包含名为
MySQLValueOne
和 MySQLValueTwo
(均为“字符串”数据类型)的变量。
我需要 Visual Studio 访问我的 SQL Server 表,获取“两个”值,并使用表中的这些值更新我的变量。完成后,我将拥有如下所示的 SSIS 包变量:
数据类型 | 价值 | |
---|---|---|
字符串 | 超级加州脆弱 | |
字符串 | Expedidocious |
并不重要,只要我的 SQL Server 表中的两项在两个 SSIS 包变量之间表示即可。 如有任何帮助,我们将不胜感激。
我已经厌倦了使用 ForLoop 将该表中的值读入我的 SSIS 包中的变量中,但我似乎无法将这两个值读入单独的值(不确定我是否尝试正确使用它) .
我也尝试过使用 SQL 任务,但我还不够熟悉,无法将两个结果值识别到单独的包变量中。
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