SSIS的执行SQL任务中出现“无法分析查询文本”错误

SSIS的执行SQL任务中出现“无法分析查询文本”错误,sql,sql-server,ssis,ssms,Sql,Sql Server,Ssis,Ssms,我正在处理SSIS包。我需要一个SQL查询作为它的一部分来执行 IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = Object_id(N'[dbo].[ProcCalls]') AND type IN (N'U')) BEGIN CREATE TABLE [dbo].[ProcCalls] ( [ProcedureName]

我正在处理SSIS包。我需要一个SQL查询作为它的一部分来执行

IF NOT EXISTS (SELECT * FROM sys.objects 
               WHERE object_id = Object_id(N'[dbo].[ProcCalls]') 
                 AND type IN (N'U')) 
BEGIN 
    CREATE TABLE [dbo].[ProcCalls]
    (
         [ProcedureName] VARCHAR(100), 
         [ProcedureCall] VARCHAR(MAX), 
         [PodName] VARCHAR(50), 
         [AccountName] VARCHAR(50), 
         [OrganizationID] VARCHAR(50), 
         [CenterID] VARCHAR(50)
    ) 
END 
GO

TRUNCATE TABLE [ProcCalls]
我尝试同时使用直接输入和文件连接输入,但“生成查询”选项卡均失败,因此出现以下错误:

无法分析查询文本

执行时,包也会失败


附言:这个答案对我有用。我没有在Exec中放入以CREATE/ALTER开头的查询,并且包成功执行。

删除GO并用分号替换它

如果我理解正确,您可以随时删除并创建表。如果存在[dbo].[ProcCalls],则删除表;创建表[dbo]。[ProcCalls]它比您当前的代码简单一点。@qxg,这取决于他的SQL server版本我正在使用SQL server 2016@如果存在适用于:SQL Server SQL Server 2016 13.x到当前版本,则SS 2016州不允许使用qxg Drop table构造。向我们显示您的结果集-看起来您正试图根据对keith Harristed的注释将其插入变量中。但同样的问题依然存在。我在输出日志错误中发现以下错误:0xC002F210在创建要从文件填充的阶段表时,执行SQL任务:如果不存在,则执行查询选择*。。。失败,出现以下错误:将结果提取到DBTYPE_I4类型的变量时出错。是否使用完整结果集?显示执行任务中的ssis包设置我将结果集用作无。这个答案对我有用。