我有一个执行sql任务(任务1),它运行sql以从表A返回一个名为Note的列,并将其存储为String SSIS变量类型。在表A中,Note被定义为varchar(2000)。
然后我有一个执行sql任务(任务2)来运行存储过程。输入参数是Note varchar(max)。
我在SSIS中运行这两项任务并收到以下错误:
DECLARE @ ...“因以下错误而失败:”text,ntext和image数据类型对于局部变量无效。“。可能的失败原因:查询问题,”ResultSet“属性设置不正确,参数设置不正确,或连接未正确建立。
我尝试了几种解决方案但没有成功。如何解决此错误并让SSIS存储变量并将其提供给SP?
在sql server 2012 SSIS上并点击SP所在的旧的2008数据库。
答案 0 :(得分:1)
您以某种方式映射tsql代码中的文本类型列。在从tsql proc返回之前,使用select cast(textval as varchar(max))将text列转换为varchar列,并确保将输出变量定义为varchars。
答案 1 :(得分:0)
您需要确保任务1只返回一行。 example capture
否则您需要使用Object变量。并使用For each循环容器循环遍历该对象。