Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 如何从oledb命令插入oledb目标_Stored Procedures_Ssis_Oledbcommand - Fatal编程技术网

Stored procedures 如何从oledb命令插入oledb目标

Stored procedures 如何从oledb命令插入oledb目标,stored-procedures,ssis,oledbcommand,Stored Procedures,Ssis,Oledbcommand,我试图在ole db目标中插入ole db源中每条记录的sp结果 sp返回一个记录集 我找到了这个 但我仍然无法在OleDb命令输出列中看到输出列 这是我的sp: create PROCEDURE [dbo].[GetData] ( @user varchar(50) ) AS set nocount on -- Publish metadata for ssis if 1=0 begin select '' x, '' y, '' z end declare @

我试图在ole db目标中插入ole db源中每条记录的sp结果

sp返回一个记录集

我找到了这个

但我仍然无法在OleDb命令输出列中看到输出列

这是我的sp:

create PROCEDURE [dbo].[GetData] (
    @user        varchar(50)
) AS
set nocount on
-- Publish metadata for ssis
if 1=0
begin
    select '' x, '' y, '' z
end

declare @user_tmp table
(
    x varchar(max),
    y varchar(max),
    z varchar(max)
)

insert into @user_tmp
    select 'x1' x, 'y1' y, 'z1' z

select distinct *  from @user_tmp
set nocount off 

它是否可能得到insert语句的结果?试着不计数


我没有尝试使用表变量,但我知道如果使用临时表,SSI将无法识别字段,并且表变量可能具有相同的限制。但是,如果使用CTE,它将识别字段。如果您可以转换为使用CTE,您的程序可能会工作

请使用OLE DB源在数据流中获取存储过程的输出。 不要将OLE DB命令用作源。 请使用OLE DB目标作为获取SP结果数据的OLE DB源输出的目标

添加ETL设计选项或需求派生列、源和目标之间的数据转换等

OLEDB命令用于为每个传递的行执行SQL,而不是创建数据流,例如,您需要逐行执行类型