ssis中赋给变量的值类型(DBNull)不同于当前变量的类型(String)。

0
[执行 SQL 任务] 错误: 执行查询“declare
@YearM varchar(20)=?,
@itemYear int ,
@ite...”失败,错误如下:“赋给变量“User::SQL2”的值类型(DBNull)不同于当前变量的类型(String)。
在执行期间变量不能更改类型。变量类型非常严格,类型为 Object 的变量除外。
”。失败的原因可能有: 查询本身有问题、未正确设置 "ResultSet" 属性、未正确设置参数或未正确建立连接。
已邀请:
0

- 取是能力,舍是境界 2017-05-26 回答

把你的配置截图下,感觉像是返回值类型问题,在SQL中用isnull处理下返回值 。
0

苍穹之尅 2017-05-26 回答

SELECT cast('' as varchar(10)) as COMPANYID,cast('' as varchar(20)) as ACCID,cast('' As varchar(8)) as DateID,cast(0 as decimal(18,6)) as INITBAL,cast(0 as decimal(18,6)) as INITBALFOR
SQL_2变量是string,表达式为上述内容,这已经对空做判断了
 
0

xz 2018-05-21 回答

ssis中赋给变量的值类型(DBNull)不同于当前变量的类型(String)。,应该是你返回值为narchar(max)  或varchar(max)
 
这样它返回值,在net 中可以是为null 的值。修改的话,返回一个固定值,例如narchar(1000)
 
---奋斗 

要回复问题请先登录注册