- 论坛徽章:
- 0
|
原帖由 hmglly 于 2008-6-6 10:54 发表 ![]()
打开oracle的日志活动,用perl访问oracle看看日志中oracle接受的sql语句和用http访问oracle中的sql语句有什么不同
现在通过以下方法测式,知道问题发生在哪了,但是仍不知道如何解决。
将环境变量
NLS_LANG => 'AMERICAN_AMERICA.ZHS16GBK';
NLS_DATE_FORMAT => 'YYYY-MM-DD';
分别以下面三种方法添加,并在DOS下和WEB下分别运行 select * from nls_session_parameters;
1. 添加环境变量
2. 添加注册表相应的项
3. 在程序中设定临时环境变量:(perl)
$ENV{NLS_LANG}='AMERICAN_AMERICA.ZHS16GBK';
$ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD';
a.DOS下显示:
NLS_LANGUAGE = AMERICAN
NLS_TERRITORY = AMERICA
NLS_CURRENCY = $
NLS_ISO_CURRENCY = AMERICA
NLS_NUMERIC_CHARACTERS = .,
NLS_CALENDAR = GREGORIAN
NLS_DATE_FORMAT = YYYY-MM-DD
NLS_DATE_LANGUAGE = AMERICAN
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
b.WEB下显示:
NLS_LANGUAGE = AMERICAN
NLS_TERRITORY = AMERICA
NLS_CURRENCY = $
NLS_ISO_CURRENCY = AMERICA
NLS_NUMERIC_CHARACTERS = .,
NLS_CALENDAR = GREGORIAN
NLS_DATE_FORMAT = DD-MON-RR
NLS_DATE_LANGUAGE = AMERICAN
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
发现一个问题了吧? 就是在WEB中的环境变量压根儿就没传过去。后来又试了下将http.conf里添加
SetEnv NLS_LANG AMERICAN_AMERICA.ZHS16GBK
SetEnv NLS_DATE_FORMAT YYYY-MM-DD
结果依然没变。。。。怎么个回事儿吗。。。。。。 |
|