Informatica支持 MySQL Community 版本的解决方案

Informatica Power Center 是一个 ETL 工具,提供强大的数据集成软件和服务,一般用于大数据的抽取、转换、加载,常应用于数据仓库、BI 等领域,并支持各种主流的数据源,如 Oracle、SQL Server、SaleForce、MySQL 等。本文主要分享 Informatica 在处理MySQL数据源过程中遇到的一些问题,以及对应的解决方案(基于Windows)。

一、MySQL 社区版不支持的问题

虽然 Informatica 支持多种主流数据源,但官方明确说明不支持 MySQL 社区版,不过通过其他途径也能实现对 MySQL 社区版的支持,步骤如下:

1) 安装 ODBC 驱动

首先,从MySQL官网下载社区版 ODBC Connector 驱动,32位和64位的都要下载,32位安装在 Informatica Client,64位安装在Informatica Sever。

Informatica支持 MySQL Community 版本的解决方案

2) Designer 配置 Data Source

Informatica Designer 用以导入数据源表、数据目标表、开发Mapping。现在要配置一个 MySQL 的数据源,点击 Sources -> Import From DataBase,按如下图所示:

Informatica支持 MySQL Community 版本的解决方案

Informatica支持 MySQL Community 版本的解决方案

结果 Informatica 报错,还需要在Client端配置下 MySQL ODBC 驱动的支持。

3) Client 修改配置文件

找到Informatica Client的安装目录,按如下图所示的位置找到 powrmart.ini 文件,添加内容如红圈所示。

Informatica支持 MySQL Community 版本的解决方案

4) Informatica Workflow 配置 Connector

开发好的 Mapping,需要运行在 Workflow,这时候需要对 Mapping 对应的数据源配置 Connector,以便支持 Workflow 的运行。打开 Workflow 工具,配置 MySQL Connector,步骤如下所示:

Informatica支持 MySQL Community 版本的解决方案

Informatica支持 MySQL Community 版本的解决方案

上图 Connect String 指的是 Server 要配置的系统DSN名称。

5) Server 配置 DSN

在 Server 配置一个系统 DSN ODBC源(window server操作系统ODBC数据源(32位)对应的是“ODBC数据源”程序,ODBC数据源(64位)对应是“设置ODBC数据源”,可以直接在开始菜单搜索“ODBC”),步骤如下所示:

Informatica支持 MySQL Community 版本的解决方案

Informatica支持 MySQL Community 版本的解决方案

Informatica支持 MySQL Community 版本的解决方案

二、中文乱码的问题

Informatica 在对 MySQL 进行数据抽取时,比如从 SQL Server 抽取到 My SQL,或从 MySQL 抽取到 SQL Server。如果抽取数据时有中文乱码问题,多半是字符集类型和数据表字段类型造成的,可以尝试以下方法:

1) 字符集设置检查

在 Informatica Workflow 的 Connector 对数据源配置相应的字符集类型,一般 MySQL 是UTF8,在 Connector 配置窗口的 Code Page 就选UTF8,如下所示:

Informatica支持 MySQL Community 版本的解决方案

2) 表字段类型

MySQL 如果是 Varchar,SQL Server 对应的字段需要定义为 Nvarchar,Varchar 是以 UTF8 保存数据的,Nvarchar 是以 GBK 保存的。