2

我想通过查找目标表中的 NVarChar(Max) 列和源表中的 NVarChar(20) 列来从目标表中获取 id。但引发错误Cannot map the lookup column, 'Column1', because the column data type is a binary large object block (BLOB).

4

2 回答 2

4

在查找转换中,您需要将 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

您现在应该能够对该列执行查找。

于 2012-06-02T19:14:09.220 回答
2

你不能:

连接可以是复合连接,这意味着您可以将转换输入中的多个列连接到参考数据集中的列。转换支持具有任何数据类型的连接列,DT_R4、DT_R8、DT_TEXT、DT_NTEXT 或 DT_IMAGE 除外

你确定你正确使用了组件吗?您通常通过 ID 查找以获取文本。你能提供更多细节吗?

于 2012-06-02T17:30:44.737 回答