【问题标题】:Execute SQL Task error -执行 SQL 任务错误 -
【发布时间】:2010-06-12 11:00:04
【问题描述】:

当我在 SSIS 的执行 sql 任务中调用存储过程时出现以下错误。 “说明:执行查询“Exec up_CallXXX”失败,出现以下错误:“'13' 附近的语法不正确。”。可能的失败原因:查询有问题、“ResultSet”属性设置不正确、参数设置不正确或连接没有正确建立。” 它是这样设置的:

结果集:无 连接类型:OLE DB SQLSourceType : 直接输入 SQL 语句:执行 up_CallXXX IsQueryStoredProcedure:假 BypassPrepare : 是的

当我通过 SSMS 执行存储过程时,它运行良好。 有谁知道发生了什么。

谢谢!

【问题讨论】:

  • 您可以发布存储过程或至少发布失败的查询吗?
  • 窗口不允许我发布整个存储过程的文本。
  • 静态值“13”是否出现在存储过程的文本中?
  • 不。我可以在SSMS中自己执行proc,但是当我通过execute sql任务调用它时,它会抛出上面的错误

标签: sql-server ssis


【解决方案1】:

这并不是一个完整的答案,但解决此问题的最快方法可能是使用SQL profiler trace 捕获 SSIS 实际尝试执行的命令,因为我认为 SSIS 使用 sp_executesql 来执行“执行 SQL”任务。

一旦您获得了查询 SSIS 正在运行的文本,您可能会发现如果在 SSMS 中执行它,您可以复制错误。

当我的 SSMS 会话的会话设置与 SSIS/SSRS 使用的会话设置不同时,我遇到了此类问题。鉴于错误消息,可能值得检查两个会话中的 SET QUOTED IDENTIFIER 值 - 但这是一个猜测。

【讨论】:

  • 我试着追踪它。但是所有的跟踪捕获都是文本数据中的 Exec up_CallXXX。没有错误信息。或关于失败的原因和位置的线索。
  • @sharadov - 您是否将 SSIS 执行的会话设置与您的 SSMS 设置进行了比较?在探查器跟踪中查找与包执行相对应的“审计登录”事件。
  • @sharadov - 您的 SP 是否正在执行动态 SQL?这可能是在 SSIS 中执行时错误消息的另一种解释。
猜你喜欢
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
相关资源
最近更新 更多