大家好,又见面了,我是你们的朋友全栈君。
之前装 win7 oracle 11 R2 (64) instantclient_11_2 (32) PLSQL(32) 费了很大力气,见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先。
plsql中执行以下语句,查看日期格式
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = ‘NLS_TIMESTAMP_FORMAT’;
四处扒帖子,帖子一:
找到注册表:
[HKEY_LOCAL_MACHINESOFTWAREORACLEoraclehome]
“NLS_TIMESTAMP_FORMAT”=”YYYY-MM-DD HH24:MI:SS:FF6”
在注册表中设置Oracle环境变量的地方(也就是设置ORACLE_HOME的地方)设置NLS_TIMESTAMP_FORMAT的格式(也就是创建这样一个字符串项,然后设置它的值为你、转换需要的掩码,我一般设置为YYYY-MM-DD HH24:MI:SS:FF6),然后关掉PL/SQL DEVELOPER,重新登录,如果没有效果,重启电脑。
结果—-改完后oracle抽风似的的把服务停止了,居然还无法启动
帖子二:
第一步在pl/sql developer中找菜单Tools 选Preferences—NLS Options选项,在右侧选择Windows format选项,保存。
第二步更新系统的环境变量,右键我的电脑选“属性”,选“高级”页,点环境变量,在系统变量中新建,变量名:nls_date_format 变量值 YYYY-MM-DD HH24:MI:SS 保存退出。
结果 — 就是没有任何效果,后来尝试把这个变量写道start.bat中,仍然无效,最后发现问题在哪里了,囧了个囧啊,我要改的是”NLS_ TIMESTAMP_FORMAT“ 而不是”nls_ date_format“ 添加环境 NLS_ TIMESTAMP _FORMAT,指设为 YYYY-MM-DD HH24:MI:SS:FF6,搞定。
帖子三:
修改ORACLE-NLS_DATE_FORMAT时间格式的四种方式
1.可以在用户环境变量中指定(LINUX)。
在用户的.bash_profile中增加两句:
export NLS_LANG=AMERICAN
---要注意这一句必须指定,不然下一句不生效。
export NLS_DATE_FORMAT=
'yyyy/mm/dd hh24:mi:ss'
2.在SQLPLUS的glogin.sql文件增加一句:
alter
session
set
nls_date_format =
'yyyy-mm-dd hh24:mi:ss'
;
3.直接修改当前会话的日期格式 :
alter
session
set
nls_date_format =
'yyyy-mm-dd hh24:mi:ss'
;
4.修改数据库的参数,需要重启数据库后生效
SQL>
alter
system
set
nls_date_format=
'yyyy-mm-dd hh24:mi:ss'
scope=spfile;
等我有时间慢慢验证
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142627.html原文链接:https://javaforall.cn