作为作业运行时,SSIS 变量不包含正确的值
Posted
技术标签:
【中文标题】作为作业运行时,SSIS 变量不包含正确的值【英文标题】:SSIS variables not containing correct values when running as job 【发布时间】: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的参数类型一样吗? 【参考方案1】:已解决:在执行 SQL 任务中,参数映射部分中,参数的数据类型之一被定义为数值。将其更改为 Long 后,我的作业成功执行。我传递的 ssis 变量被声明为 int32。
【讨论】:
以上是关于作为作业运行时,SSIS 变量不包含正确的值的主要内容,如果未能解决你的问题,请参考以下文章
使用 ssis 包在 SQL Server 代理作业中找不到存储过程错误