奇怪的错误,在2012 Enterprise Edition db上使用SSIS 2010。 使用OLEDB连接。
变量a,b,c在ssis中定义为Decimal。 d定义为String。
Sql任务:
Select min(col1),max(col1) from table_a
where key_value = ?
where: parameter 0 is d , data type=Varchar
resultset 1 is a , 2 is b
表达任务:
@[User:c] = (DT_DECIMAL,2) (@[User:a] + @[User:b])
Sql任务:
Update table_a
set col2 = ?
where key_value = ?
where: parameter 0 is c (DataType=DECIMAL) and 1 is d (DataType=Varchar)
错误:...因以下错误而失败:“类型不是 supported.DBTYPE_DECIMAL“。可能的失败原因:问题 查询,“ResultSet”属性设置不正确,参数不正确 设置正确,或连接未正确建立。
table_a定义为
d varchar(4),
col1 numeric(10,2),
col2 numeric(10,2)
表格中有多行d而没有索引... 我已经尝试在update语句中转换和转换值 有什么想法是错误的吗? 感谢
答案 0 :(得分:0)
检查SQL任务的参数映射部分,以确保正确设置参数。 我以前见过这个,'参数设置不正确'是关键。