ODI中显示us7ascii字符集的测试

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

 

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

 

在命令行设置nls_lang为zhs16gbk,与DB字符集不一样ci

 

 

 

 

第2条自己存入的有问题,始终是??。乱码

第3条查看时的nls_lang与DB的字符集不一样,也与insert时设置的us7ascii不一样,所以也是乱码。select

 

设置NLS_LANG与DB的相同jdbc

 

 

 

 

能够看到,设置与DB相同,insert and select都没问题。im

 

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

 

 

 

乱码。db

 

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

 

 

 

仍是乱码。

 

在ODI的链接参数中,改成使用jdbc:odbc

 

 

 

 

查看数据:

 

 

 

正常。

若是设置nls_lang为zhs16gbk,从新启动ODI,则看到的数据:

 

 

 

仍然是乱码。

 

结论

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

相关文章
相关标签/搜索