SQL Server Integration Studio - 模糊匹配;查找列不会显示

时间:2018-03-21 21:07:11

标签: sql-server ssis

我在SQL Server 2016上的两个表之间构建了较小的模糊查找。

表1 ID INT, 姓名NVARCHAR(MAX)

表2 ID INT, 姓名NVARCHAR(MAX)

以下步骤:

  1. 创建DTS包
  2. 将OLE DB源添加到SQL Server脚本中 第一个表" SELECT ID,NAME FROM TABLE1"
  3. 添加模糊转换
  4. 选择参考表作为TABLE2
  5. 现在,当我尝试添加映射时:我可以选择INPUT COLUMN作为" NAME"但是,“查找”列显示为空白 如果我首先选择Lookup列,它会显示字段,但Input列变为空白

    enter image description here

1 个答案:

答案 0 :(得分:0)

我的假设是nvarchar(max)部分正在杀死它。

  

只有具有DT_WSTR和DT_STR数据类型的输入列才能用于模糊匹配。精确匹配可以使用除DT_TEXT,DT_NTEXT和DT_IMAGE之外的任何DTS数据类型。有关更多信息,请参阅Integration Services数据类型。参与输入和引用表之间的连接的列必须具有兼容的数据类型。例如,将具有DTS DT_WSTR数据类型的列连接到具有SQL Server nvarchar数据类型的列是有效的,但将具有DT_WSTR数据类型的列连接到具有int数据类型的列无效。

如果你可以缩小到nvarchar(4000),那么它应该工作。

https://docs.microsoft.com/en-us/sql/integration-services/data-flow/transformations/fuzzy-lookup-transformation