【问题标题】:SSIS variables not containing correct values when running as job作为作业运行时,SSIS 变量不包含正确的值
【发布时间】:2011-03-02 17:23:42
【问题描述】:

在 ssis(2005) 中,我使用执行 SQL 任务来调用存储过程。存储过程需要 3 个参数,所有 3 个都是 ssis 变量。我的包在开发中执行没有问题,但在作为作业运行时失败。

日志给出以下消息:执行查询“Exec nx_sp_WriteFLHeader ?,?,?”失败并出现以下错误:“未指定的错误”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。

使用 Sql server profiler,我可以看到存储过程被调用时使用了不正确的值,在 dev 中 (1,null,null) 会类似于 454,404,"sometext"。

当作为作业运行时,我可以看到 ssis 变量已成功用于其他任务,如果在我尝试使用它们时变量已超出范围。我确实在最高级别声明了变量。

谢谢

已解决:在执行 SQL 任务中,参数映射部分中,参数的数据类型之一被定义为数值。将其更改为 Long 后,我的作业成功执行。我传递的 ssis 变量被声明为 int32。

【问题讨论】:

  • 你使用的变量是什么?是系统变量还是用户变量?
  • dev和prod中SP的参数类型一样吗?

标签: sql-server sql-server-2005 ssis etl


【解决方案1】:

已解决:在执行 SQL 任务中,参数映射部分中,参数的数据类型之一被定义为数值。将其更改为 Long 后,我的作业成功执行。我传递的 ssis 变量被声明为 int32。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多