ODI中显示us7ascii字符集的测试

安装oracle DB时,选择的字符集:美国、英语、US7ASCII

 

在不设置nls_lang的情况,插入中文,成功,但存进去的是乱码,select看到也是??(无论后面再怎么设置nls_lang),下面第2条记录便是如此。第3条记录是设置了nls_lang = American_america.us7ascii之后插入的。

 

在命令行设置nls_langzhs16gbk,与DB字符集不同


 

2条本身存入的有问题,始终是??。

3条查看时的nls_langDB的字符集不同,也与insert时设置的us7ascii不同,因此也是乱码。

 

设置NLS_LANGDB的相同


 

可以看到,设置与DB相同,insert and select都没问题。

 

启动ODI之前,不设置nls_lang,使用jdbc驱动连接到DB上,查看表的数据:


乱码。

 

设置nls_lang=American_america.us7ascii,并在同一命令行下启动odi,继续使用jdbc,查看数据:


还是乱码。

 

ODI的连接参数中,改为使用jdbc:odbc


 

查看数据:


正常。

如果设置nls_langzhs16gbk,重新启动ODI,则看到的数据:


仍然是乱码。

 

结论

         针对us7ascii字符集的oracle DB,需要在nls_lang中设置与DB相同的字符集,然后使用jdbc:odbc方式访问DB,才能确保在ODI中看到的数据正常显示。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值