博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ODI中显示us7ascii字符集的测试
阅读量:5067 次
发布时间:2019-06-12

本文共 666 字,大约阅读时间需要 2 分钟。

安装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中看到的数据正常显示。

 

转载于:https://www.cnblogs.com/margiex/p/3499343.html

你可能感兴趣的文章
js思维导图
查看>>
实验二 用机器指令和汇编指令编程(2)
查看>>
机器学习(二)逻辑斯蒂回归
查看>>
数据库设计
查看>>
微软宣布全新命令行+脚本工具:PowerShell 7
查看>>
风格迁移(1)-格拉姆矩阵
查看>>
让薪水和效率翻倍七个秘诀
查看>>
JavaScript DOM基本操作
查看>>
关于web后门权限防删的一个新思路
查看>>
solr之搭建企业搜索平台
查看>>
C语言基础(1)-基本语法及注意事项
查看>>
网页配色的天然范儿
查看>>
《springCloud系列》——Eureka 进行服务治理
查看>>
C# 串口通讯的数据丢失和同步异步问题
查看>>
【Linux】查看系统信息
查看>>
数据库索引的实现原理(笔记)详细http://www.linezing.com/blog/?p=798#nav-1
查看>>
JsonUtil 学习使用
查看>>
[CTSC2018]混合果汁(二分答案+主席树)
查看>>
Linux学习私人笔记-压缩文件命令
查看>>
MVC模型绑定
查看>>