我想从一个表,在SSIS通过一个简单的SELECT语句retrive项的值Execute Sql Task
。 但没有运气搞清楚这个错误。
我hvae使用字符串数据类型一个输入变量和使用该变量在参数映射在Execute SQL Task
。
执行查询“SELECT铸造([关键]为INT)FROM表,其中列=?” 失败,出现以下错误:“而提取的结果成型的(DBTYPE_I4)可变时出现错误”。 可能的故障原因:与查询问题“的ResultSet”属性设置不正确,未正确设置参数,或连接不正确建立。
注:数据类型为TINYINT键列
当这些参数的默认数据类型仍是“长”,而不是一切必要措施......在你的情况,这应该是“BYTE”,会出现此消息
TINYINT不0-14,这是DT_UI1 。 http://msdn.microsoft.com/en-us/library/ms345165.aspx
如果你改变你的SSIS类型为字节,那么你应该能够查询的结果分配给值。
Variable User::input Data Type Byte Value 2
Variable User::output Data Type Byte Value 0
源查询SELECT CAST(1 AS tinyint) AS [key], ? AS foo
SELECT CAST(1 AS tinyint) AS [key], ? AS foo
执行SQL任务,OLE DB CM,单列结果集参数映射选项卡
塔1的结果映射到用户::输出
检查值之后执行SQL任务和结果2(预期)
写像查询 - > SELECT铸造([关键]为INT)作为密钥对从表其中柱=?