目录

Search

  1. 前言
  2. 使用转换
  3. 汇总器转换
  4. 自定义转换
  5. 自定义转换函数
  6. 数据屏蔽转换
  7. 数据屏蔽示例
  8. 表达式转换
  9. 外部过程转换
  10. 筛选器转换
  11. HTTP 转换
  12. Identity Resolution 转换
  13. Java 转换
  14. Java 转换 API 引用
  15. Java 表达式
  16. Java 转换示例
  17. 联接器转换
  18. 查找转换
  19. 查找缓存
  20. 动态查找缓存
  21. 规范器转换
  22. 等级转换
  23. 路由器转换
  24. 序列生成器转换
  25. 排序器转换
  26. 源限定符转换
  27. SQL 转换
  28. 在映射中使用 SQL 转换
  29. 存储过程转换
  30. 事务控制转换
  31. 联合转换
  32. 非结构化数据转换
  33. 更新策略转换
  34. XML 转换

转换指南

转换指南

查找属性

查找属性

在“查找属性”选项卡上,配置诸如缓存和多个匹配项等查找属性。配置查找条件或 SQL 语句来查询查找表。还可以更改查找表名称。
在创建映射时,为每个查找转换配置属性。在创建会话时,可以为每个转换替代诸如索引和数据缓存大小等属性。
下表介绍了查找转换属性:
选项
查找类型
说明
查找 SQL 替代
关系
替代默认 SQL 语句以查询查找表。
指定您希望集成服务用于查询查找值的 SQL 语句。在启用了查找缓存的情况下使用。
查找表名称
管道
关系
转换从中查找和缓存值的表或源限定符的名称。在创建查找转换时,选择源、目标或源限定符作为查找源。在创建查找转换时,还可以从另一个数据库导入表、视图或同义词。
如果输入查找 SQL 替代,则无需输入查找表名称。
查找源筛选器
关系
限制集成服务根据查找转换中任意端口的数据值所执行的查找。在启用了查找缓存的情况下使用。
启用查找缓存
平面文件
管道
关系
指示集成服务在会话期间是否缓存查找值。
启用查找缓存时,集成服务会在会话期间查询一次查找源,对值进行缓存,并查找缓存中的值。缓存查找值可以提高会话性能。
如果禁用缓存,则每次将行传入转换时,集成服务都将对查找源发出一条用于查找值的 select 语句。
集成服务始终缓存平面文件查找和管道查找。
多项匹配时的查找策略
平面文件
管道
关系
在查找转换发现匹配查找条件的多个行时,确定要返回的行。选择以下值之一:
  • 使用第一个值。返回与查找条件匹配的第一行。
  • 使用最后一个值。返回与查找条件匹配的最后一个行。
  • 使用所有值。返回所有匹配的行。
  • 使用任何值。集成服务返回与查找条件匹配的第一个值。它会根据键端口而不是所有查找转换端口创建索引。
  • 报表错误。集成服务会报告错误,且不返回行。如果不启用“更新时输出旧值”选项,则对于动态查找,“多项匹配时的查找策略”选项会设置为“报表错误”。
查找条件
平面文件
管道
关系
显示在“条件”选项卡中设置的查找条件。
连接信息
关系
指定包含查找表的数据库。可以在映射、会话或参数文件中定义数据库:
  • 映射。选择连接对象。还可以指定数据库连接类型。如果连接为关系连接,则在连接名称之前键入
    Relational:
    。如果连接为应用程序连接,则在连接名称之前键入
    Application:
  • 会话。使用 $Source 或 $Target 连接变量。如果使用其中一个变量,则查找表必须驻留在源或目标数据库中。在每个变量的会话属性中指定数据库连接。
  • 参数文件。使用会话参数 $DBConnection
    Name
    或 $AppConnection
    Name
    ,并在参数文件中对其进行定义。
默认情况下,在创建查找转换时如果选择源表,则 Designer 会指定 $Source,如果选择目标表,则会指定 $Target。可以在会话属性中替代这些值。
如果无法确定数据库连接的类型,则集成服务处理会话失败。
源类型
平面文件
管道
关系
指示查找转换从关系表、平面文件或源限定符中读取值。
跟踪级别
平面文件
管道
关系
设置包括在会话日志中的详细信息量。
查找缓存目录名称
平面文件
管道
关系
指定在配置查找转换时用于构建查找缓存文件以缓存查找源的目录。此外,在选择“查找持久性”选项时,还会保存持久性查找缓存文件。
默认情况下,集成服务使用为集成服务配置的 $PMCacheDir 目录。
查找缓存持久性
平面文件
管道
关系
指示集成服务是否使用持久性查找缓存(至少由两个缓存文件组成)。如果查找转换是为持久性查找缓存配置的,但不存在持久性查找缓存文件,则集成服务将在会话期间创建这些文件。在启用了查找缓存的情况下使用。
查找数据缓存大小查找索引缓存大小
平面文件
管道
关系
默认为“自动”。指示集成服务分配给数据缓存和内存中索引的大小上限。可以对缓存使用数值,可以使用参数文件中的缓存值,也可以将集成服务配置为使用“自动”设置来设置缓存大小。如果配置集成服务来确定缓存大小,也可以为集成服务配置可分配给缓存的最大内存量。
如果初始化会话期间集成服务无法分配配置的内存量,则处理会话失败。集成服务无法在内存中存储所有数据缓存数据时,会对磁盘进行分页。
在启用了查找缓存的情况下使用。
动态查找缓存
平面文件
管道
关系
指示使用动态查找缓存。查找缓存将行传递到目标表时,插入或更新查找缓存中的行。
在启用了查找缓存的情况下使用。
更新时输出旧值
平面文件
管道
关系
在启用了动态缓存的情况下使用。如果启用此属性,集成服务通过查找/输出端口输出旧值。集成服务更新缓存中的行时,其在基于输入数据更新行之前会输出存在于查找缓存中的值。当集成服务在缓存中插入行时,将输出空值。
如果禁用此属性,集成服务通过查找/输出和输入/输出端口输出相同的值。
默认情况下该属性处于启用状态。
更新动态缓存条件
平面文件
管道
关系
指示是否更新动态缓存的表达式。使用查找端口或输入端口创建表达式。表达式可以包含输入值或查找缓存中的值。如果条件为 true 并且数据存在于缓存中,集成服务将更新缓存。在启用了动态缓存的情况下使用。默认值为 true。
缓存文件名前缀
平面文件
管道
关系
与持久性查找缓存配合使用。指定要用于持久性查找缓存文件的文件名前缀。集成服务会使用该文件名前缀作为其保存到磁盘的持久性缓存文件的文件名。输入前缀。不要输入 .idx 或 .dat。
您可以为文件名前缀输入参数或变量。可使用您在参数文件中可定义的任何参数或变量类型。
如果指定的持久性缓存文件已存在,则集成服务会通过这些文件构建内存缓存。如果指定的持久性缓存文件不存在,则集成服务将重建持久性缓存文件。
从查找源重新缓存
平面文件
管道
关系
与持久性查找缓存配合使用。如果您使用持久性查找缓存并启用此选项,则集成服务会在首次调用“查找”转换实例时,从查找源中重建持久性查找缓存。
如果未启用此选项,则集成服务会重用持久性缓存文件。
插入 Else 更新
平面文件
管道
关系
在启用了动态缓存的情况下使用。适用于进入查找转换且行类型为“插入”的行。如果启用该项,集成服务会在缓存中插入行并更新现有行。如果禁用该项,集成服务不会更新现有行。
更新 Else 插入
平面文件
管道
关系
在启用了动态缓存的情况下使用。适用于进入查找转换且行类型为“更新”的行。
如果启用该项,集成服务将更新现有行,如果是新行则插入行。如果禁用该项,集成服务不插入新行。
日期时间格式
平面文件
单击“打开”按钮可选择日期时间格式。定义格式和字段宽度。毫秒、微秒或纳秒格式的字段宽度为 29。
如果没有为端口选择日期时间格式,则可以输入任意日期时间格式。默认值为 MM/DD/YYYY HH24:MI:SS。日期时间格式不会更改端口的大小。
千位分隔符
平面文件
如果不为端口定义千位分隔符,则集成服务会使用此处定义的属性。
可以选择无分隔符、逗号或句点。默认设置为无分隔符。
小数分隔符
平面文件
如果不在查找定义或“端口”选项卡上为特定字段定义小数分隔符,集成服务会使用此处定义的属性。
可以选择逗号或句点作为小数分隔符。默认设置为句点。
区分大小写的字符串比较
平面文件
管道
对字符串列执行查找时,集成服务将使用区分大小写的字符串比较。
对于关系查找,区分大小写的比较取决于数据库支持。
空值排序
平面文件
管道
确定集成服务对空值进行排序的方式。您可以选择按高值或低值对空值进行排序。默认情况下,集成服务将按高值对空值进行排序。该操作将覆盖集成服务配置,以便将比较运算符中的空值视为高值、低值或空值。
对于关系查找,空值排序取决于数据库默认值。
已排序输入
平面文件
管道
指示查找文件数据是否采用已排序的顺序。这会提高文件查找的查找性能。如果启用已排序输入,则条件列不会进行分组,集成服务处理会话将会失败。如果条件列已分组但未排序,集成服务会像未配置已排序输入一样处理查找。
查找源为静态
平面文件
管道
关系
查找源不会在会话中更改。
预构建查找缓存
平面文件
管道
关系
允许集成服务在查找转换接收数据之前构建查找缓存。集成服务可以同时构建多个查找缓存文件来提高性能。
您可以在映射或会话中配置此选项。如果将查找转换选项配置为“自动”,集成服务会使用会话级别的设置。
配置以下选项之一:
  • 自动。集成服务使用在会话中配置的值。
  • 始终允许。集成服务可在查找转换接收第一个源行之前构建查找缓存。集成服务创建其他管道来构建缓存。
  • “始终不允许”。集成服务无法在查找转换接收第一行之前构建查找缓存。
您必须配置集成服务可以并发构建的管道数。配置“用于查找缓存创建的其他并发管道”会话属性。如果该属性的值大于零,则集成服务可以预构建查找缓存。
子秒精度
关系
指定日期时间端口的子秒精度。
对于关系查找,可以更改日期时间数据具有可编辑小数位数的数据库的精度。可以为 Oracle 时间戳、Informix 日期时间和 Teradata 时间戳数据类型更改子秒精度。
输入在从 0 到 9 范围内的正整数值。默认值为 6 微秒。如果启用下推优化,则数据库会返回完整的日期时间值,不管子秒精度设置如何。