Informatica字符集整理

Informatica字符集整理

ID:40556234

大小:58.00 KB

页数:6页

时间:2019-08-04

Informatica字符集整理_第1页
Informatica字符集整理_第2页
Informatica字符集整理_第3页
Informatica字符集整理_第4页
Informatica字符集整理_第5页
资源描述:

《Informatica字符集整理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Informatica字符集整理理论基础从数据通路的角度看,Informatica中数据的流向是:SourceStorage->Transformations->TargetStorage。为了保证数据不至于丢失,靠后的target的字符集需要兼容靠前的source的字符集。如下图:整个ETL的数据流动过程都是由IntegrationService(下文简称IS)Process来完成。当Informatica与数据库交互时,因为会用到数据库的clientdriver,所以,运行ISProcess的服务器的数据库客户端设

2、置会影响到Informatica与数据库的数据交换。因为数据经历了如下流向:DatabaseAServer->DatabaseAClient->ISProcess->DatabaseBClient->DatabaseBServer。当Informatica从FlatFile加载数据时,则需要指定文件使用的字符集。它的数据流向是:FlatFile->ISProcess->DatabaseAClient->DatabaseAServer。ISProcess可以以两种方式move数据:ASCII和UNICODE。ASCII模

3、式下,ISProcess不会做characterconversion,即input的binary流是什么样子,output什么binary流。而在UNICODE模式下,Informatica会检查source和target的字符集是否兼容,重要的是ISProcess会做characterconversion,在其内部以UTF8方式传输数据。因为Informatica的Client需要和RepositoryDatabase交互,所以它们的字符集需要和RepositoryDatabase的一致或为对方的子集。Informa

4、tica的Client包括:ISProcess、PowerCenterDesigner、PowerCenterWorkflowManager等。一般Informatica的Client的字符集设置是跟着运行该Client的本地OS走的,例如:运行在简体中文的Window上运行PowerCenterDesigner,此时它使用的codepage是“MSWindowsSimplifiedChinese”;而在英文系统Window上运行ISProcess,那么它使用的codepage就是“MSWindowsLatin1(AN

5、SI)”。在Unix系统上的Client同样道理。Informatica的Client字符集设置,不影响数据在Informatica的ETL过程,只是影响它们自己和RepositoryDatabase的数据交换。案例分析案例I环境:Source:OracleDatabase(UTF8)Target:OracleDatabase(UTF8)ISProcessCodePage:MSWindowsLatin1(ANSI)ISMovementMode:ASCIINLS_LANG:AMERICAN_AMERICA.WE8MSWI

6、N1252Mapping设置:SourceConnectionCodePage=UTF8TargetConnectionCodePage=UTF8ETL结果:中文为乱码分析:因为NLS_LANG设置的是WE8MSWIN1252,虽然SourceConnectionCodePage和OracleDatabaseServer都使用UTF8编码,但是在从DBServer->DBClient时乱码已经产生,Informatica的SourceConnection拿到的就是乱码了。解决:修改NLS_LANG为“AMERICAN_

7、AMERICA.AL32UTF8”或者“AMERICAN_AMERICA.ZHS16GBK”。此时,ISMovementMode是ASCII还是Unicode都可以。解释:在ISMovementMode=ASCII情况下,Source/TargetConnectionCodePage设置为“UTF8”、“GBK”或者“ISO8859-1”等都可以,因为此时DBServer->DBClient和DBClient->DBServer不会发生数据丢失和乱码,同时Informatica不会去转码。这保证DBClientàISP

8、rocessàDBClient过程中binary数据流没有发生变化。在ISMovementMode=UNICODE情况下,就不同了,此时Source/TargetConnectionCodePage的设置必须与DBClient的编码保持一致,否则IS在转码的时候就会出现问题。案例II环境:Source:FlatFile(UTF8)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。