全球最具影响力的数据智能产业服务和职业发展平台

皇冠篮球比分网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

Oracle同步数据到HANA产生乱码的问题分析

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-1 16:49:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
与大家分享一个在项目中ETL数据同步的过程中遇到的乱码问题。
四月的某天,项目同事说用DS抽取了一张表到HANA中,但是数据是乱码,问我有没有遇到过这种情况,我说没有,于是有了以下的分析:
Oracle同步到HANA后的乱码
源数据库中数据
如上图所示,很明显产生乱码的都是中文字符的部分。根据经验,这种不同数据库之间中文字符乱码的问题,极有可能是不同数据库试用的编码规则不一致导致的。雷同于用本地txt活csv文件导入数据时,HANA默认要用UTF-8编码格式,如果默认用ANSI编码,导入后中文就会是乱码。
根据这个思路,查询了Orale的编码:
在Orale中执行语句:
执行的结果显示Oracle中的编码规则是:
AMERICAN_AMERICA.ZHS16GBK
Oracle中执行结果
然后登录DS服务器,查询DS服务器中的编码类别:
在DS服务器中执行:echo $NLS_LANG
执行结果显示DS服务器中的编码规则是:
CHINESE_CHINA.WE8ISO8859P1
DS中执行结果
查完编码结果之后,证实了之前的设想是正确的。找到问题的原因后开始寻找解决方法。思路是要让这两种编码规则一致。有两个办法:修改Oracle的编码规则或者修改DS的编码规则。
Oracle是业务系统,肯定不能修改,所以只能修改DS的编码规则:
登录DS服务器,找到.profile文件,执行如下语句:
erxport NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
然后执行:echo$NLS_LANG 查看执行结果是否修改成功。
然后在修改DS中的DSConfig.txt文件,修改成如下结果:
[Locales]
AL_Engine = <default>_<default>.gb18030
InstalledProductLocales = en
ProductLocale = en
保存文件,然后重启DS服务。
最后一步在DS前台设计器登录后,设置如下:
然后重新执行DS JOB后,HANA中的乱码问题解决。
备注:各系统版本情况
数据源系统:Oracle 11g;
目标系统: HANA 2.0;
ETL工具:Data Services version 4.2 on linux suse 12;
作者:杨鑫
来源:英诺森

楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

欢迎随机打赏,买杯咖啡加点能量

×

打赏支付方式:

打赏

帖子永久地址: 

皇冠篮球比分网 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与皇冠篮球比分网享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和皇冠篮球比分网的同意,并添加本文出处
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责
6、本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除
7、皇冠篮球比分网管理员和版主有权不事先通知发贴者而删除本文

皇冠篮球比分网(www.bi168.cn)是国内首家系统性关注大数据科学与人工智能的社区媒体!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|皇冠篮球比分网 ( 粤icp备14060679号-1|申请友情链接

GMT+8, 2020-1-18 01:07 , Processed in 0.098966 second(s), 21 queries , Xcache On.

Powered by 皇冠比分

© 2012-2014 皇冠比分网

快速回复 返回顶部 返回列表