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
SSIS临时表错误_Ssis - Fatal编程技术网

SSIS临时表错误

SSIS临时表错误,ssis,Ssis,我有SP contain temp表,并在输出中生成4列 像 id、名称、原件和更改件 输出需要保存在平面文件中 任何人都可以建议如何执行SQL任务 我尝试使用oledb,数据访问模式为SQL命令,但出现错误 0x80040E14 谁能给点建议吗。 感谢从中借用答案,您可以使用WITH RESULT set提前告知SSIS引擎存储过程将返回哪些数据 通过此程序: CREATE PROCEDURE dbo.UseTempTable AS BEGIN SET NOCOUNT ON;

我有SP contain temp表,并在输出中生成4列 像 id、名称、原件和更改件 输出需要保存在平面文件中

任何人都可以建议如何执行SQL任务

我尝试使用oledb,数据访问模式为SQL命令,但出现错误 0x80040E14

谁能给点建议吗。 感谢

从中借用答案,您可以使用WITH RESULT set提前告知SSIS引擎存储过程将返回哪些数据

通过此程序:

CREATE PROCEDURE dbo.UseTempTable
AS
BEGIN
    SET NOCOUNT ON;

    CREATE TABLE #MyTable(WhoCares INT NOT NULL IDENTITY(1,1) PRIMARY KEY, Whatever VARCHAR(99));

    INSERT INTO #MyTable(Whatever) VALUES('Minger');
    INSERT INTO #MyTable(Whatever) VALUES('Bonjour');

    SELECT ColInt = WhoCares
        ,  ColVarChar = Whatever
        FROM #MyTable


END;
如果我尝试将SSIS 2012用作数据源,则会在SSIS 2012中出错 在数据流中

在2012年之前,有各种各样的技巧来显示假装的记录集 例如设置为FMTONLY ON。。。在2012年,这两种方法都不起作用

从中,我们只需要指定数据流数据源 作为


更多信息:

为什么需要在执行SQL任务中执行此操作?您可以使用类似xp_cmdshell“BCP.EXE…”的东西,因为它是SSIS包的一部分。您应该能够放下数据流并将源设置为SP。您尝试过吗?像这样:非常感谢Nick。
EXEC('EXEC dbo.UseTempTable') 
    WITH RESULT SETS
    ( ( ColInt INT NOT NULL, ColVarChar VARCHAR(99)) )