ODI中显示us7ascii字符集的测试
安裝oracle DB時,選擇的字符集:美國、英語、US7ASCII。
?
在不設置nls_lang的情況,插入中文,成功,但存進去的是亂碼,select看到也是??(無論后面再怎么設置nls_lang),下面第2條記錄便是如此。第3條記錄是設置了nls_lang = American_america.us7ascii之后插入的。
?
在命令行設置nls_lang為zhs16gbk,與DB字符集不同
?
第2條本身存入的有問題,始終是??。
第3條查看時的nls_lang與DB的字符集不同,也與insert時設置的us7ascii不同,因此也是亂碼。
?
設置NLS_LANG與DB的相同
?
可以看到,設置與DB相同,insert and select都沒問題。
?
啟動ODI之前,不設置nls_lang,使用jdbc驅動連接到DB上,查看表的數據:
亂碼。
?
設置nls_lang=American_america.us7ascii,并在同一命令行下啟動odi,繼續使用jdbc,查看數據:
還是亂碼。
?
在ODI的連接參數中,改為使用jdbc:odbc
?
查看數據:
正常。
如果設置nls_lang為zhs16gbk,重新啟動ODI,則看到的數據:
仍然是亂碼。
?
結論
???????? 針對us7ascii字符集的oracle DB,需要在nls_lang中設置與DB相同的字符集,然后使用jdbc:odbc方式訪問DB,才能確保在ODI中看到的數據正常顯示。
?
轉載于:https://www.cnblogs.com/margiex/p/3499343.html
總結
以上是生活随笔為你收集整理的ODI中显示us7ascii字符集的测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11g里sqldevelop
- 下一篇: MCSDK HUA Demonstrat