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
)
)