社区
Oracle
帖子详情
oracle 中 NLS_LANG变量如何设置
hshbs
2009-05-13 05:24:32
想请问
1、系统中的 NLS_LANG 变量如何设置?
2、ORACLE 中的 NLS_LANG 又是如何设置的?
...全文
6441
14
打赏
收藏
oracle 中 NLS_LANG变量如何设置
想请问 1、系统中的 NLS_LANG 变量如何设置? 2、ORACLE 中的 NLS_LANG 又是如何设置的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hshbs
2009-08-11
打赏
举报
回复
TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950 :繁中
american_america.UTF8 :UTF-8
jarry1666
2009-05-14
打赏
举报
回复
我记得要给存储过程加密的时候需要设置一下这个变量的值,想问这是为什么?
hshbs
2009-05-14
打赏
举报
回复
就直接进入cmd ,然后set nls_lang = american_america.UTF8 就可以把数据库的编码设置为 UTF8格式的了吗
mosaic
2009-05-14
打赏
举报
回复
设置系统环境变量, 其取值为:
语言_地区.字符集
这三个部分可从nls_database_parameter视图中得到:
select * from nls_database_parameters where parameter in ('NLS_LANGUAGE', 'NLS_TERRITORY','NLS_CHARACTERSET');
如:
1 NLS_LANGUAGE AMERICAN
2 NLS_TERRITORY AMERICA
3 NLS_CHARACTERSET ZHS16GBK
那么NLS_LANG就设置为:AMERICAN.AMERICA_ZHS16GBK
阿三
2009-05-14
打赏
举报
回复
[Quote=引用 7 楼 hshbs 的回复:]
那 windows 呢,怎么设置的
[/Quote]
windows在cmd下,直接set nls_lang=''就行了
hshbs
2009-05-14
打赏
举报
回复
那 windows 呢,怎么设置的
Tomac
2009-05-14
打赏
举报
回复
[Quote=引用 10 楼 hshbs 的回复:]
就直接进入cmd ,然后set nls_lang = american_america.UTF8 就可以把数据库的编码设置为 UTF8格式的了吗
[/Quote]
数据库的没有变化. NLS_LANG只影响客户端呈现的类型. 如何和数据库不兼容,则乱码.
wsj811
2009-05-14
打赏
举报
回复
想把数据库的SERVER也改成UTF-8??
可以是可以不过方法有点危险
1.将现有数据库完整导出成DUMP文件(导出时客户端的nls_lang设置为UTF8)
2.然后新建一个UTF8的库再导进去(同样客户端的nls_lang设置为UTF8)
危险性:UTF8环境下对字符的长度定义是不同的。ORACLE的最大可认标识符为30位 汉字的长度由原来的2位变成3位,有些符号甚至达到8位 如果在你的代码中 有别名或者变量名超过长度的会报错。
最好的方法还是全部导出成SQL脚本文件去做(PLSQL工具可以完成)
puheavy123
2009-05-13
打赏
举报
回复
linux下直接export NLS_LANG=.....就行了
如果希望下次开机仍然有效的话,建议将其写入~/.bash_profile或者是~/.bashrc
hshbs
2009-05-13
打赏
举报
回复
在KKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG 修改,这样的话也只是把客户端的编码修改成 UTF8
如何把数据库 database 的编码也修改成 UTF8
wsj811
2009-05-13
打赏
举报
回复
american_america.UTF8
修改这个值会对程序有微妙影响,某些SQL文执行效果不同
hshbs
2009-05-13
打赏
举报
回复
所谓的在系统中设置 NLS_LANG 变量和在 oracle 中设置 NLS_LANG 变量就一步动作吗,即在注册表里面设置KKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG 的值吗
如果我想设置成 utf-8 该如何设置
lwh_1024
2009-05-13
打赏
举报
回复
LZ是什么操作系统?
Windows在注册表中能够查看到
KKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
linux下:$NLS_LANG
bzcnc
2009-05-13
打赏
举报
回复
在主机端,看到服务器的字体设置为:
bash-2.03$ echo $NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
bash-2.03$
在客户端看到字体设置为:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
是一致的
oracle
11G 免安装客户端精简版
解压文件,如我解压的目录是:D:\
oracle
_client,此时 完整的路径是D:\
oracle
_client\instantclient10_1
设置
环境
变量
a.在系统环境
变量
Path添加D:\
oracle
_client\instantclient10_1 b.并添加如下环境
变量
: LD_LIBRARY_PATH=D:\
oracle
_client\instantclient10_1
NLS
_
LAN
G=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 或
NLS
_
LAN
G=SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280 TNS_ADMIN="D:\
oracle
_client\instantclient10_1 也可以通过reg文件
设置
环境
变量
,建立
oracle
_client.reg,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] "LD_LIBRARY_PATH"="D:\\
oracle
_client\\instantclient10_1" "
NLS
_
LAN
G"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" "TNS_ADMIN"="D:\\
oracle
_client\\instantclient10_1" 运行即可。 3.添加tnsnames.ora 添加tnsnames.ora文件,文件内容为: ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.*.*)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) )
PLSQL Developer 11.0.3.1770
中
文绿色注册版(免
Oracle
客户端)
PLSQL Developer 11.0.3.1770
中
文绿色注册版(免
Oracle
客户端) 免安装
Oracle
客户端,绿色无公害。 说明: 1、点击 "启动PLSQL.exe" 即可免装
oracle
使用PLSQL 或者 使用qidong.bat启动 ; 2、instantclient_10_2为
oracle
10 绿色精简版; 3、
设置
TNS,用记事本打开配置:instantclient_10_2\tnsnames.ora qidong.bat内容: set
oracle
_home=%~dp0\instantclient_10_2 set TNS_ADMIN=%~dp0\instantclient_10_2 set
nls
_
lan
g=SIMPLIFIED CHINESE_CHINA.ZHS16GBK set
LAN
G=zh_CN.GBK start PLSQLDev.exe 作用:
设置
临时
变量
,启动plsql
instantclient-basic-win64-10.2.0.5.zip
oracle
10g 64位免安装客户端 使用步骤: (1)下载解压 将下载后的文件instantclient-basic-win32-11.2.0.1.0解压,把解压后的文件夹instantclient_11_2置于C:\Program Files下 (2)环境
变量
设置
配置环境
变量
,右击“我的电脑”-“属性”-“高级”-“环境
变量
”-“系统
变量
”,增加如下内容: 1)
变量
名:
ORACLE
_HOME(可不
设置
)
变量
值:C:\Program Files\instantclient_10_2 2)
变量
名:TNS_ADMIN(必须
设置
)
变量
值:C:\Program Files\instantclient_10_2 3)
变量
名:
NLS
_
LAN
G
变量
值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 4) 修改Path
变量
(可不
设置
),在后面添加 C:\Program Files\instantclient_10_2 (3)添加网络配置文件 在 C:\Program Files\instantclient_10_2\network\admin
中
添加网络配置文件,新建文本文件,命名为tnsnames.ora(注意扩展名为.ora,不是txt),写入如下内容: ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
instantclient-basic-windows.x64-11.2.0.3.0.zip
解压到任意目录,在这个目录下建立NETWORK文件夹,接着再这个文件夹下再建立ADMIN文件夹,然后建立tnsnames.ora文件,内容如下: ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) 第一行 ORCL = ,ORCL是指服务命名,可以随便定义 第四行 HOST = 127.0.0.1 是指要访问数据库的主机名,PORT = 1521 是指要访问数据库的端口号 第八行 SERVICE_NAME = orcl 是指要访问数据库的服务名,一般是指数据库名 这里根据自己的实际情况配置。接着打开PL/SQL,在perference->Connection里面
设置
OCI Library和
Oracle
_Home,我的
设置
是OCI Library=c:\
oracle
client\oci.dll,
Oracle
_Home=c:\
oracle
client,c:\
oracle
client是指刚才解压缩Instant Client的目录 还有最后一个问题,需要
设置
一个字符集,这样查询出来的数据才不会是乱码,写一个批处理pldev. bat放到pl安装目录下,内容如下: set
NLS
_
LAN
G = SIMPLIFIED CHINESE_CHINA.ZHS16GBK start PLSQLDev.exe 这个字符集,指的是服务器端的字符集,请根据实际情况配置。附查询数据库字符集SQL:select userenv('
lan
guage') from dual 最后,只要双击这个批处理,再填写帐号和密码就可以了 也可以在电脑里
设置
NLS
_
LAN
G环境
变量
,就不需要每次都要执行批处理文件
oracle
即时客户端 64位 11g
之前一直都是用eclipse自带的Data Source Explorer访问
Oracle
数据库,可是只能简单地查看,而且很多字段不兼容。 今天开始使用PLSQL Developer连接远程
Oracle
数据库的时候,提示我没有安装
Oracle
客户端,才知道PLSQL Developer不是独立的软件,是要基于
Oracle
客户端运行的。 下面就介绍一下没有安装
Oracle
数据库的情况下,单独安装一个客户端。 1、到
Oracle
官方网站下载一个客户端:http://www.
oracle
.com/technology/global/cn/software/tech/oci/instantclient/index.html 2、我这里选择的是:即时客户端程序包 — Basic: 运行 OCI、OCCI 和 JDBC-OCI 应用程序所需的所有文件(instantclient-basic-win32-11.1.00.70.0.zip) 3、将安装包解压和重命名为:D:\
Oracle
InstantClient_11_1 4、
设置
环境
变量
: 1.;D:\
Oracle
InstantClient_11_1; (在PATH环境
变量
追加) 2.SET TNS_ADMIN=D:\
Oracle
InstantClient_11_1 (新建) 3.SET
NLS
_
LAN
G=SIMPLIFIED CHINESE_CHINA.ZHS16GBK (新建,防止查询乱码) 5、指定需要连接的实例名字,在D:\
Oracle
InstantClient_11_1目录下新建一个tnsnames.ora文件,然后填入 192.168.8.201 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.201)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
Oracle
17,091
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章