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

- 小写:将字符串列字符转换为小写。例如,TutorialGateway 被转换为 tutorialgateway。
- 大写:将字符串列字符转换为大写。例如,TutorialGateway 列变为 TUTORIALGATEWAY。
- 字节反转:此 SSIS 字符映射转换会反转 Unicode 的字节顺序
- 平假名:将片假名转换为平假名字符。
- 片假名:将平假名字符转换为片假名。
- 半角:将全角字符转换为半角。例如,hello 转换为 hello。
- 全角:此转换将半角字符转换为全角。例如,hello 转换为 hello。
- 语言大小写:数据库通常使用其系统语言来存储列中的数据。例如,我的系统以英语(美国)格式存储日期,因为这是我的系统语言。要使用其他区域性语言,我们可以使用此语言大小写选项。
- 简体中文:此转换将繁体中文转换为简体中文字符。例如,简体中文的“你好吗”是 你好吗
- 繁体中文:将简体中文字符转换为繁体中文。
SSIS 字符映射转换选择选项
SSIS 中的字符映射转换允许我们为单个列选择多个选项。但是,在选择时存在一些限制。例如,如果我们选择小写操作,那么选择大写也没有意义。下表显示了我们在单个列中不应选择的SSIS 操作。
| 选定的操作 | 不应选择的操作 |
|---|---|
| 小写 | 大写、平假名、片假名、半角和全角 |
| 大写 | 小写、平假名、片假名、半角和全角 |
| 平假名 | 片假名、小写、大写 |
| 片假名 | 平假名、小写、大写 |
| 半角 | 全角、小写、大写 |
| 全角 | 半角、小写、大写 |
| 简体中文 | 繁体中文 |
| 繁体中文 | 简体中文 |
SSIS 字符映射转换示例
步骤 1:将数据流任务从工具箱拖放到控制流,然后将其名称更改为字符映射转换。

双击它将打开数据流选项卡。有关更多转换 >> 点击此处。
步骤 2:将 OLE DB 源、字符映射转换和 ADO.NET 目标拖放到数据流区域

步骤 3:双击数据流区域中的 OLE DB 源,这将打开 连接管理器 设置,并提供编写 SQL 语句的空间。
目前,我们已从 [Adventure Works DW 2014] 数据库中的 DimEmployees 表中选择了 [名字]、[姓氏] 和 [电子邮件 ID]。

我们在上面截图中使用的 SQL 命令是
USE AdventureWorksDW2014
GO
SELECT FirstName
,LastName
,EmailAddress
FROM DimEmployee
步骤 4:单击列选项卡以验证列。在此选项卡中,我们还可以取消选中不需要的列。

步骤 5:单击确定,并将 OLE DB 源的输出箭头连接到字符映射转换。
双击 SSIS 字符映射转换以进行配置
- 输入列:我们在可用输入列选项中选择的内容会自动反映在此选项中。我们也可以直接在此处选择输入列。
- 目标:我们有一个选项可以选择是替换原始列。还是将其添加为新列?在此示例中,我们使用的是新列选项。
- 操作:我们已经上面讨论过
- 输出别名:指定新列名。它的作用与SQL 中的别名相同。

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

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

在这里,我们正在从数据库中选择表中的字符映射转换。
步骤 7:单击映射选项卡以检查 SSIS 字符映射源列是否已正确映射到目标列。

注意:如果您的输入和目标列名相同,则智能映射会自动进行。如果列名有任何更改(别名或计算列),我们必须手动映射它们。
通过单击确定,我们完成了 SSIS 字符映射转换包。让我们运行该包。

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