我正在使用SSIS在环境之间移动数据,在将输入列映射到输出列时,我在Lookup组件中经常遇到以下错误:
我在大多数地方解决了这个问题,并且使用nvarchar(MAX)作为问题的原因,但是我仍然得到它,即使输入和输出列的类型是nvarchar(100)。知道我为什么会收到这个错误吗?我曾尝试在源数据上使用数据转换,但没有任何成功!
修改
您可以在下面找到我的查找配置(命名查找更新行)
的屏幕截图编辑2
当我在文本编辑器中打开与项目相关的.dtsx文件时,我将几种数据类型设置为 nText (如下所示),我认为这是我问题的原因。< / p>
dataType="nText"
cachedDataType="nText"
我将这些行分别更改为以下行:
dataType="wstr"
length="100"
cachedDataType="wstr"
cachedLength="100"
但是当我构建时,我的更改会消失,并且再次设置 ntext 类型。
答案 0 :(得分:0)
摆脱BLOB类型的解决方案是在高级编辑器中更改数据流中组件的数据类型(SSIS数据类型)。
答案 1 :(得分:0)
这对我不起作用,因为我正在使用ODBC数据源。
我必须使用ODBC Source Editor中的SQL命令文本框将我的Blob表字段作为varchar(max)进行转换,然后转到高级编辑器并编辑我将CAST作为DataType字符串[DT_STR]的所有ODBC源输出列]。
希望这对某人有帮助。