SSIS查找通过的NVarChar(max)列(SSIS Lookup by NVarChar(Ma

2019-07-29 17:13发布

我想用的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
标签: ssis