还是环境变量设置的问题,OEM Console是从bin目录下的一个oemapp.bat文件启动的,查看这个文件但是无法确知系统使用的是注册表中哪个nls_lang参数。但是你可以用一下几种方式来测试:
1、把所有NLS_LANG都改称AMERICAN_AMERICA.US7ASCII
2、直接在系统环境变量中加入NLS_LANG=AMERICAN_AMERICA.US7ASCII,据我所知,系统变量是优先于注册表的
3、或者修改oemapp.bat,加入一句SET NLS_LANG=AMERICAN_AMERICA.US7ASCII
1、把所有NLS_LANG都改称AMERICAN_AMERICA.US7ASCII
2、直接在系统环境变量中加入NLS_LANG=AMERICAN_AMERICA.US7ASCII,据我所知,系统变量是优先于注册表的
3、或者修改oemapp.bat,加入一句SET NLS_LANG=AMERICAN_AMERICA.US7ASCII
什么情况下使用? PL/SQL和JAVA代码需要移植 已经存在使用多国语言的数据
SQL代码,PL/SQL代码中包含Unicode编码的数据
准备用BLOB类型来存储使用多国语言的文档,并且准备使用全文搜索. 2. 数据库字符集不变,使用unicode datatype(NCHAR,NVARCHAR2,NCLOB). 什么情况下使用? 将来,可能会支持多国语言
创建打包的应用程序
使用单字节类型的字符集(ASCII)作为数据库字符集时,可以获得更好的性能
需要对windows客户提供utf-16的支持.
建议: 根据你具体的应用模式进行合理选择.
客户单位的所有数据库都用US7ASCII,用ZHS16GBK的话捣腾起数据来肯定有麻烦。To:KingSunSha(弱水三千)
方法1、2我试了,没起作用;方法3我不知道具体在什么位置加,试着加在了“start2”节的一大堆SET前,然后独立启动OEM Console,连接数据库时提示我未知字符集。To:leecooper0918(爱一个人好难)
谢谢。我现在只是想正常使用US7ASCII。
dbappscfg.properties这个文件. 修改一下(我记得针对sqlplus worksheet有效,对oem console没试过) #SQLPLUS_NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
去掉注释符,改成: SQLPLUS_NLS_LANG=AMERICAN_AMERICA.US7ASCII
:startNT
set ADMIN_WRL=C:\oracle\ora92\sysman\admin
两行之间。不过我从来没有用oem console来处理表纪录,而且我这边没有US7ASCII的库,所以没有办法具体测试。抱歉