-----------------------------------------------
|【】【】请大家不要跟帖,此贴为学习贴【】【】 |
-----------------------------------------------*************************************************************************************************************
查看当前session的nls参数的具体值:select * from nls_session_parameters*************************************************************************************************************视图
NLS_DATABASE_PARAMETERS
NLS_INSTANCE_PARAMETERS
NLS_SESSION_PARAMETERS其实,可以从all_objects中查到你想要的东西,比如SQL> select object_name from all_objects where object_name like '%NLS%';*************************************************************************************************************
col parameter for a30
col value for a30
select * from nls_session_parameters;*************************************************************************************************************
【】【】请大家不要跟帖,此贴为学习贴【】【】
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
这是我查询nls_session_parameters的结果帮我看看select to_date('17-dec-1980','dd-mon-yyyy') from dual ;
为什么总报错呢
ORA-01843: not a valid month
*************************************************************************************************************
QUOTE:
--------------------------------------------------------------------------------
最初由 tony7603 发布
col parameter for a30
col value for a30
select * from nls_session_parameters;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
这是我查询nls_session_parameters的结果帮我看看select to_date('17-dec-1980','dd-mon-yyyy') from dual ;
为什么总报错呢
ORA-01843: not a valid month
*************************************************************************************************************
alter session set NLS_DATE_LANGUAGE='AMERICAN';*************************************************************************************************************
另外我在client设置了
nls_lang AMERICAN_AMERICA.ZHS16GBK这个设置会起到什么作用呢。我同事先装了一个9i的client后来又装了一个10g的数据库,我就是搞不明白session nls的那些值是从哪里继承来的。本地nls_lang AMERICAN_AMERICA.ZHS16GBK
*************************************************************************************************************
先执行 set oracle_sid=****(sid为你想进入的那个实例) 然后在进入到sqlplus里*************************************************************************************************************PL/SQL设置 收藏
1、PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上“Store with password” 即可,重新登录在输入一次密码则记住了。
2、执行单条SQL语句
在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。
3、格式化SQL语句
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.
4、查看执行计划
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),或者直接按F5即可。
5、调试存储过程
在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:首先,在PL/SQL Developer左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹出来的Test scrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:Start debugger 或者按F9;最后点击:RUN 或者Ctrl+R
6.左下角显示window list
点击菜单 tools -> window list, 将弹出的小窗口拖到左下角合适位置,然后点击菜单 window->save layout
7.防止登录超时
tools->Preferences-->Oracle->Connection 选择 "check connection"
8.不备份sql文件
tools->Preferences->Files->backup,页面中backup files中选择 disabled======引用如下======连接oracle10g免安装客户端解决办法
首先,在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
制作成压缩文件,配置目标计算机使用。
1.将 oracleinstantclient.rar解压缩到一个目录, 如d:\oracleinstantclient
2.配置 d:\oracleinstantclient的tnsnames.ora文件,只需要修改其中的服务器地址、服务名称和端口。
3、配置环境变量,在PATH变量中加入d:\oracleinstantclient
4、注册表加入下面键值
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"LD_LIBRARY_PATH"="d:\OracleInstantClient"
"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"
"TNS_ADMIN"="d:\OracleInstantClient"
5、如果是ASP.NET应用,则要为ASPNET用户分配d:\oracleinstantclient文件夹的读写权限。
通过上面的设置后,即可实现免安装ORACLE客户端,连接到ORACLE数据库服务器。
也可以将上面解压缩后的文件和手动过程制作成安装包,实现自动安装。
注意:
1、用上面的方法,连接oracle9.2,应该也没有问题。
2、如果使用JDBC连接,需要到官网下载instantclient-jdbc-win32-10.1.0.2.zip: 包含JDBC Driver的包=====================================================================================配置完毕,第一遍没连上(TNS连接超时),重启PC再测试连接,跳出错误:ORA-12705:invalid or unknown NLS parameter value specified.说明进步了,有希望 :P 去修改NLS_LANG同DB Server上注册表里的值,同样要重启PC,再试,OK!!!Oracle客户端NLS_LANG设置
1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>NLS_LANG各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控制客户端应用程序使用的字符集
通常设置或者等于客户端(如Windows)代码页
或者对于unicode应用设置为UTF8在Windows上查看当前系统的代码页可以使用chcp命令:
E:\>chcp
活动的代码页: 936代码页936也就是中文字符集 GBK,在Microsoft的官方站点上,我们可以遭到关于936代码页的具体编码规则,请参考以下链接:
http://www.microsoft.com/globaldev/reference/dbcs/936.htm2. 查看 NLS_LANG 的方法
Windows使用:echo %NLS_LANG%
如:
E:\>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBKUnix使用:env|grep NLS_LANG
如:
/opt/oracle>env|grep NLS_LANG
NLS_LANG=AMERICAN_CHINA.ZHS16GBKWindows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
xx指存在多个ORACLE_HOME时系统编号。3. 查看数据库当前字符集参数设置
SELECT * FROM v$nls_parameters;
或
select * from nls_database_parameters
或
select userenv(‘language’) from dual;4. 查看数据库可用字符集参数设置
SELECT * FROM v$nls_valid_values;5. 客户端 NLS_LANG 的设置方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以通过修改注册表键值永久设置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANGUnix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以编辑 bash_profile 文件进行永久设置
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 设置生效
source .bash_profile本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/62guangye/archive/2010/02/05/5291283.aspx*************************************************************************************************************
|【】【】请大家不要跟帖,此贴为学习贴【】【】 |
-----------------------------------------------*************************************************************************************************************
查看当前session的nls参数的具体值:select * from nls_session_parameters*************************************************************************************************************视图
NLS_DATABASE_PARAMETERS
NLS_INSTANCE_PARAMETERS
NLS_SESSION_PARAMETERS其实,可以从all_objects中查到你想要的东西,比如SQL> select object_name from all_objects where object_name like '%NLS%';*************************************************************************************************************
col parameter for a30
col value for a30
select * from nls_session_parameters;*************************************************************************************************************
【】【】请大家不要跟帖,此贴为学习贴【】【】
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
这是我查询nls_session_parameters的结果帮我看看select to_date('17-dec-1980','dd-mon-yyyy') from dual ;
为什么总报错呢
ORA-01843: not a valid month
*************************************************************************************************************
QUOTE:
--------------------------------------------------------------------------------
最初由 tony7603 发布
col parameter for a30
col value for a30
select * from nls_session_parameters;
PARAMETER VALUE
------------------------------ ------------------------------
NLS_LANGUAGE SIMPLIFIED CHINESE
NLS_TERRITORY CHINA
NLS_CURRENCY ¥
NLS_ISO_CURRENCY CHINA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY ¥
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
这是我查询nls_session_parameters的结果帮我看看select to_date('17-dec-1980','dd-mon-yyyy') from dual ;
为什么总报错呢
ORA-01843: not a valid month
*************************************************************************************************************
alter session set NLS_DATE_LANGUAGE='AMERICAN';*************************************************************************************************************
另外我在client设置了
nls_lang AMERICAN_AMERICA.ZHS16GBK这个设置会起到什么作用呢。我同事先装了一个9i的client后来又装了一个10g的数据库,我就是搞不明白session nls的那些值是从哪里继承来的。本地nls_lang AMERICAN_AMERICA.ZHS16GBK
*************************************************************************************************************
先执行 set oracle_sid=****(sid为你想进入的那个实例) 然后在进入到sqlplus里*************************************************************************************************************PL/SQL设置 收藏
1、PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上“Store with password” 即可,重新登录在输入一次密码则记住了。
2、执行单条SQL语句
在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。
3、格式化SQL语句
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.
4、查看执行计划
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),或者直接按F5即可。
5、调试存储过程
在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:首先,在PL/SQL Developer左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹出来的Test scrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:Start debugger 或者按F9;最后点击:RUN 或者Ctrl+R
6.左下角显示window list
点击菜单 tools -> window list, 将弹出的小窗口拖到左下角合适位置,然后点击菜单 window->save layout
7.防止登录超时
tools->Preferences-->Oracle->Connection 选择 "check connection"
8.不备份sql文件
tools->Preferences->Files->backup,页面中backup files中选择 disabled======引用如下======连接oracle10g免安装客户端解决办法
首先,在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
制作成压缩文件,配置目标计算机使用。
1.将 oracleinstantclient.rar解压缩到一个目录, 如d:\oracleinstantclient
2.配置 d:\oracleinstantclient的tnsnames.ora文件,只需要修改其中的服务器地址、服务名称和端口。
3、配置环境变量,在PATH变量中加入d:\oracleinstantclient
4、注册表加入下面键值
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"LD_LIBRARY_PATH"="d:\OracleInstantClient"
"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"
"TNS_ADMIN"="d:\OracleInstantClient"
5、如果是ASP.NET应用,则要为ASPNET用户分配d:\oracleinstantclient文件夹的读写权限。
通过上面的设置后,即可实现免安装ORACLE客户端,连接到ORACLE数据库服务器。
也可以将上面解压缩后的文件和手动过程制作成安装包,实现自动安装。
注意:
1、用上面的方法,连接oracle9.2,应该也没有问题。
2、如果使用JDBC连接,需要到官网下载instantclient-jdbc-win32-10.1.0.2.zip: 包含JDBC Driver的包=====================================================================================配置完毕,第一遍没连上(TNS连接超时),重启PC再测试连接,跳出错误:ORA-12705:invalid or unknown NLS parameter value specified.说明进步了,有希望 :P 去修改NLS_LANG同DB Server上注册表里的值,同样要重启PC,再试,OK!!!Oracle客户端NLS_LANG设置
1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=<Language>_<Territory>.<Clients Characterset>NLS_LANG各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控制客户端应用程序使用的字符集
通常设置或者等于客户端(如Windows)代码页
或者对于unicode应用设置为UTF8在Windows上查看当前系统的代码页可以使用chcp命令:
E:\>chcp
活动的代码页: 936代码页936也就是中文字符集 GBK,在Microsoft的官方站点上,我们可以遭到关于936代码页的具体编码规则,请参考以下链接:
http://www.microsoft.com/globaldev/reference/dbcs/936.htm2. 查看 NLS_LANG 的方法
Windows使用:echo %NLS_LANG%
如:
E:\>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBKUnix使用:env|grep NLS_LANG
如:
/opt/oracle>env|grep NLS_LANG
NLS_LANG=AMERICAN_CHINA.ZHS16GBKWindows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
xx指存在多个ORACLE_HOME时系统编号。3. 查看数据库当前字符集参数设置
SELECT * FROM v$nls_parameters;
或
select * from nls_database_parameters
或
select userenv(‘language’) from dual;4. 查看数据库可用字符集参数设置
SELECT * FROM v$nls_valid_values;5. 客户端 NLS_LANG 的设置方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以通过修改注册表键值永久设置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANGUnix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以编辑 bash_profile 文件进行永久设置
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 设置生效
source .bash_profile本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/62guangye/archive/2010/02/05/5291283.aspx*************************************************************************************************************
Oracle客户端NLS_LANG设置
1. NLS_LANG 参数组成
NLS_LANG参数由以下部分组成:
NLS_LANG=_.
NLS_LANG各部分含义如下:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控制客户端应用程序使用的字符集
通常设置或者等于客户端(如Windows)代码页
或者对于unicode应用设置为UTF8
在Windows上查看当前系统的代码页可以使用chcp命令:
E:\>chcp
活动的代码页: 936
代码页936也就是中文字符集 GBK,在Microsoft的官方站点上,我们可以遭到关于936代码页的具体编码规则,请参考以下链接:
http://www.microsoft.com/globaldev/reference/dbcs/936.htm 2. 查看 NLS_LANG 的方法
Windows使用:
echo %NLS_LANG%
如:
E:\>echo %NLS_LANG%
AMERICAN_AMERICA.ZHS16GBK
Unix使用:
env|grep NLS_LANG
如:
/opt/oracle>env|grep NLS_LANG
NLS_LANG=AMERICAN_CHINA.ZHS16GBK
Windows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\
xx指存在多个ORACLE_HOME时系统编号。 3. 查看数据库当前字符集参数设置
SELECT * FROM v$nls_parameters;
或
select * from nls_database_parameters
或
select userenv(‘language’) from dual; 4. 查看数据库可用字符集参数设置
SELECT * FROM v$nls_valid_values; 5. 客户端 NLS_LANG 的设置方法
Windows:
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
可以通过修改注册表键值永久设置
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG
Unix:
# 常用unicode字符集
export NLS_LANG=american_america.AL32UTF8
# 常用中文字符集
export NLS_LANG="Simplified Chinese_china".ZHS16GBK
可以编辑 bash_profile 文件进行永久设置
vi .bash_profile
NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG
# 使 bash_profile 设置生效
source .bash_profile
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/firefoxboy/archive/2008/10/04/3013431.aspx
*************************************************************************************************************
*************************************************************************************************************
-----------------------------------------------
|【】【】请大家不要跟帖,此贴为学习贴【】【】 |
-----------------------------------------------