作为作业运行时,SSIS变量不包含正确的值

时间:2011-03-02 17:23:42

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

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

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

使用Sql server profiler我可以看到在dev中使用不正确的值(1,null,null)调用存储过程,它将类似于454,404,“sometext”。

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

由于

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

1 个答案:

答案 0 :(得分:0)

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