Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSI无法映射查找列。NVARCHAR(最大)错误_Sql Server_Ssis_Sql Server 2008 R2_Etl - Fatal编程技术网

Sql server SSI无法映射查找列。NVARCHAR(最大)错误

Sql server SSI无法映射查找列。NVARCHAR(最大)错误,sql-server,ssis,sql-server-2008-r2,etl,Sql Server,Ssis,Sql Server 2008 R2,Etl,我正在写ETL。我已在源数据库中创建了视图。我的观点是两个表的连接。现在,我需要从视图中获取数据。但视图中有两列具有nvarchar(max)数据类型 但是,当我在DFT中执行查找操作时,我面临以下错误: Cannot map the lookup column, 'Description', because the column data type is a binary large object block (BLOB). 我看到了以下链接: 请注意,Description列可能包含大

我正在写ETL。我已在源数据库中创建了视图。我的观点是两个表的连接。现在,我需要从视图中获取数据。但视图中有两列具有
nvarchar(max)
数据类型

但是,当我在DFT中执行查找操作时,我面临以下错误:

Cannot map the lookup column, 'Description', because the column data type is a binary large object block (BLOB).
我看到了以下链接:

  • 请注意,Description列可能包含大量文本

    附上图片以供参考。非常感谢。

    什么是查找,并且查找转换支持任何数据类型的联接列,对于DT_R4、DT_R8、DT_TEXT、DT_NTEXT或DT_IMAGE(即BLOB)的联接列除外


    就我个人而言,我尽量避免在SSI中处理BLOB。转换BLOB并将其视为具有最大值的nvarchar,您应该不会有问题。

    如果您在查找表中进行比较所基于的列被分配了不同的约束,则可能会出现此问题

    例如:如果源表中的custid允许NULL,但目标表的custid不允许NULL。您可能会遇到此错误


    您可能需要通过数据转换(从ntext到字符串)传递该列。我已经尝试过了,但遇到相同的错误,您必须将nvarchar(最大值)转换为nvarchar(4000)。正如Maverick建议的那样,您是否尝试过在查找转换中使用sql查询(如select…,cast(描述为nvarchar(400))从视图中读取视图?如果您有这两个表的键,您可以改为执行
    合并联接
    ,然后执行条件拆分以比较这些列(如果有帮助的话)。