问题:存储过程可以作为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时,我得到了我所期待的。所以我知道存储过程有效。
非常感谢任何帮助。