小编Dus*_*eat的帖子

SSIS - 转换为 DataTable 的对象变量变空

我正在尝试创建一个对象变量,该变量将保存来自Execute SQL Task 的集合。该集合将在整个 ETL 包的多个脚本任务中使用。

问题是,在Fill第一个Script Task 的第一个之后,对象变量变空。以下是我如何将变量用于数据表的代码:

try
            {
                DataTable dt = new DataTable();

                OleDbDataAdapter da = new OleDbDataAdapter();

                da.Fill(dt, Dts.Variables["reportMetrics"].Value);

                Dts.TaskResult = (int)ScriptResults.Success;
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message);
                Dts.TaskResult = (int)ScriptResults.Failure;
            }
Run Code Online (Sandbox Code Playgroud)

在整个ETL包中,Script Task组件都会有这段代码。由于变量在第一个之后变空Fill,因此我无法重用对象变量。

我猜测 Fill 方法与此有关。

谢谢!

c# ssis etl

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

etl ×1

ssis ×1