SSIS 中的字符映射转换

SSIS 中的字符映射转换可用于转换输入字符。如果我们想将字符串列转换为大写、小写、简体中文、片假名、平假名和繁体中文,那么 SSIS 字符映射转换可以为您完成这项工作。它允许您选择是将输出结果覆盖现有列还是将其添加为新列。

SSIS 中的字符映射转换支持 10 种操作。操作及其描述如下所示。

Character Map Transformation in SSIS 0
  1. 小写:将字符串列字符转换为小写。例如,TutorialGateway 被转换为 tutorialgateway。
  2. 大写:将字符串列字符转换为大写。例如,TutorialGateway 列变为 TUTORIALGATEWAY。
  3. 字节反转:此 SSIS 字符映射转换会反转 Unicode 的字节顺序
  4. 平假名:将片假名转换为平假名字符。
  5. 片假名:将平假名字符转换为片假名。
  6. 半角:将全角字符转换为半角。例如,hello 转换为 hello。
  7. 全角:此转换将半角字符转换为全角。例如,hello 转换为 hello。
  8. 语言大小写:数据库通常使用其系统语言来存储列中的数据。例如,我的系统以英语(美国)格式存储日期,因为这是我的系统语言。要使用其他区域性语言,我们可以使用此语言大小写选项。
  9. 简体中文:此转换将繁体中文转换为简体中文字符。例如,简体中文的“你好吗”是 你好吗
  10. 繁体中文:将简体中文字符转换为繁体中文。

SSIS 字符映射转换选择选项

SSIS 中的字符映射转换允许我们为单个列选择多个选项。但是,在选择时存在一些限制。例如,如果我们选择小写操作,那么选择大写也没有意义。下表显示了我们在单个列中不应选择的SSIS 操作。

选定的操作不应选择的操作
小写大写、平假名、片假名、半角和全角
大写小写、平假名、片假名、半角和全角
平假名片假名、小写、大写
片假名平假名、小写、大写
半角全角、小写、大写
全角半角、小写、大写
简体中文繁体中文
繁体中文简体中文

SSIS 字符映射转换示例

步骤 1:将数据流任务从工具箱拖放到控制流,然后将其名称更改为字符映射转换。

双击它将打开数据流选项卡。有关更多转换 >> 点击此处

步骤 2:将 OLE DB 源、字符映射转换和 ADO.NET 目标拖放到数据流区域

Character Map Transformation in SSIS 2

步骤 3:双击数据流区域中的 OLE DB 源,这将打开 连接管理器 设置,并提供编写 SQL 语句的空间。

目前,我们已从 [Adventure Works DW 2014] 数据库中的 DimEmployees 表中选择了 [名字]、[姓氏] 和 [电子邮件 ID]。

Ole DB Source Manager and SQL Command 3

我们在上面截图中使用的 SQL 命令是

USE AdventureWorksDW2014
GO

SELECT FirstName
      ,LastName
      ,EmailAddress
FROM  DimEmployee

步骤 4:单击列选项卡以验证列。在此选项卡中,我们还可以取消选中不需要的列。

Verify the Column Names 4

步骤 5:单击确定,并将 OLE DB 源的输出箭头连接到字符映射转换。

双击 SSIS 字符映射转换以进行配置

  • 输入列:我们在可用输入列选项中选择的内容会自动反映在此选项中。我们也可以直接在此处选择输入列。
  • 目标:我们有一个选项可以选择是替换原始列。还是将其添加为新列?在此示例中,我们使用的是新列选项。
  • 操作:我们已经上面讨论过
  • 输出别名:指定新列名。它的作用与SQL 中的别名相同。
Character Map Transformation in SSIS 5

目前,我们只使用了大写和小写。但是,您可以尝试所有可用的 SSIS 字符映射转换选项。单击确定。

Character Map Transformation in SSIS 6

目标表

步骤 6:现在,我们需要提供目标的服务器、数据库和表详细信息。因此,双击 ADO.NET 目标并提供所需信息。

Choose the Destination Connection and Table 7

在这里,我们正在从数据库中选择表中的字符映射转换。

步骤 7:单击映射选项卡以检查 SSIS 字符映射源列是否已正确映射到目标列。

Input and Destination Columns Mapping 8

注意:如果您的输入和目标列名相同,则智能映射会自动进行。如果列名有任何更改(别名或计算列),我们必须手动映射它们。

通过单击确定,我们完成了 SSIS 字符映射转换包。让我们运行该包。

Character Map Transformation in SSIS 9

让我们打开 SQL 查询窗口以预览数据。

Destination Table 10