SSIS数据流任务 - 尝试将存储过程作为OL DB SQL命令的一部分执行

时间:2018-04-24 19:15:35

标签: ssis

问题:存储过程可以作为OLE DB提供程序中SQLCommand的一部分运行吗?

我是SSIS的新手,已经获得了简单的SQL命令。但我正在尝试在SQL命令中使用存储过程。主SQL的结果是从存储过程(用作临时表)创建的数据透视表中提取的

存储过程是主SQL中的JOINS之一(实际上它是'OUTER APPLY xxx(其中xxx是存储过程名)作为Alias'。存储过程的目的是创建一行结果通常情况下,每个帐户都会有一行列出所有DX。

         ---------------------------------------------------------

示例源表    帐号线DX    acct1 1 abc123    acct1 2 cdf123    acct1 3 xxx12    acct2 1 bcv12    acct2 2 xul35

注意:帐户将从主表

传递到存储过程
         ---------------------------------------------------------

存储过程生成的示例结果:    帐号ICD01 ICD02 ICD03    acct1 abc123 cdf123 xxx12    acct2 bcv12 xul35

注意:存储过程接受并创建一个列(由ColName + Line#创建),即ColName = DX + Line 1 = DX1(这是行标题)。对于Acct1&返回3行的Vs为Acct2

返回了2行
         ---------------------------------------------------------

示例sql 选择table1.account_id'帐户' ,ICD。[ICD01]'ICD01' ,ICD。[ICD50]'IC02'

表1中的

  table2 = tablel上的左外连接Table2   在table1 = table3

上连接table3

外部将StoredProcedure(table1.ACCOUNT_ID)应用为[ICD]

其中tableD.date_time介于@Date_From和@Date_To之间

         ---------------------------------------------------------

当我运行SSIS包时,会在文件&中创建标题。返回正确的行数,但不会为存储过程创建的列提取数据。从数据流运行。我确实看到在控制流中添加“执行SQL任务”的帖子,但我的问题是将Account_ID传递给Table1的存储过程(仅为这些帐户提取数据),因此我无法在外部运行存储过程运行数据流SQL之前的数据流(从我所知道的 - 但正如我所说,我是SSIS的新手)。

当我通过SQL Server Management Studio运行SQL时,我得到了我所期待的。所以我知道存储过程有效。

非常感谢任何帮助。

0 个答案:

没有答案