Visual studio 2008 SET NOCOUNT在语句的顶部(虽然我的proc确实设置了它),我尝试了这个方法,但是当我在SSIS中运行包时,它会冻结,并且需要很长时间才能开始处理。如果我删除SET FMTONLY OFF并切换回一个表变量而不是一个临时表,那么包就可以正常启动。你

Visual studio 2008 SET NOCOUNT在语句的顶部(虽然我的proc确实设置了它),我尝试了这个方法,但是当我在SSIS中运行包时,它会冻结,并且需要很长时间才能开始处理。如果我删除SET FMTONLY OFF并切换回一个表变量而不是一个临时表,那么包就可以正常启动。你,visual-studio-2008,sql-server-2008,ssis,Visual Studio 2008,Sql Server 2008,Ssis,SET NOCOUNT在语句的顶部(虽然我的proc确实设置了它),我尝试了这个方法,但是当我在SSIS中运行包时,它会冻结,并且需要很长时间才能开始处理。如果我删除SET FMTONLY OFF并切换回一个表变量而不是一个临时表,那么包就可以正常启动。你要不惜一切代价避免使用它,除非性能从来都不是问题。这会导致您的存储过程最多运行5次而不是一次。@sriram认为您也可以查看下面的链接以了解更多详细信息,这是一个技巧,我不知道为什么microsoft人员会让它变得更简单- CREATE SCH


SET NOCOUNT
在语句的顶部(虽然我的proc确实设置了它),我尝试了这个方法,但是当我在SSIS中运行包时,它会冻结,并且需要很长时间才能开始处理。如果我删除SET FMTONLY OFF并切换回一个表变量而不是一个临时表,那么包就可以正常启动。你要不惜一切代价避免使用它,除非性能从来都不是问题。这会导致您的存储过程最多运行5次而不是一次。@sriram认为您也可以查看下面的链接以了解更多详细信息,这是一个技巧,我不知道为什么microsoft人员会让它变得更简单-
CREATE SCHEMA [ssis_temp]

CREATE TABLE [ssis_temp].[tempTableName]
exec mySproc WITH RESULT SETS ((i int))
CREATE PROCEDURE [dbo] . [GenMetadata] AS 
SET NOCOUNT ON 
IF 1 = 0 
    BEGIN
         -- Publish metadata 
        SELECT   CAST (NULL AS INT ) AS id , 
                CAST (NULL AS NCHAR ( 10 )) AS [Name] , 
                CAST (NULL AS NCHAR ( 10 )) AS SirName 
    END 

 -- Do real work starting here 
CREATE TABLE #test 
    ( 
      [id] [int] NULL, 
      [Name] [nchar] ( 10 ) NULL, 
      [SirName] [nchar] ( 10 ) NULL 
    ) 
exec p_MySPWithTempTables ?, ? with result sets
(
    (
        ColumnA int,
        ColumnB varchar(10),
        ColumnC datetime
    )
)