我想用的NVarChar(max)列在目标表和nvarchar(20)列在源表中查找,以获得与目标表ID。 但提高错误Cannot map the lookup column, 'Column1', because the column data type is a binary large object block (BLOB).
Answer 1:
你不能:
联接可以是复合加入,这意味着可以在引用数据集加入在变换输入的多个列的列。 该转换支持任何数据类型连接列,除了DT_R4,DT_R8,DT_TEXT,DT_NTEXT,或DT_IMAGE
你一定要正确使用组件? 您通常通过ID查找,以获取文本。 你能否提供更多的细节?
Answer 2:
在您的查找转换,您需要将BLOB(为nvarchar(MAX))转换为一个非BLOB类型。 在这种情况下,我会假设你需要将其转换为NVARCHAR(20)。
你将需要写在查找转型查询并不仅仅是选择表。
假设查找表的样子
LookupTable
--------------
Column0 int
Column1 nvarchar(max)
Column2 nvarchar(500)
您查询会是什么样子
SELECT
L.Column0
, CAST(L.Column1 AS nvarchar(20)) AS Column1
, L.Column2
FROM
dbo.LookupTable L
您现在应该能够在该列中进行查找。
文章来源: SSIS Lookup by NVarChar(Max) Column