我们的Oracle 10g数据库最近升级到11g.该数据库在
Windows Server 2003 X64计算机上运行.在来自访问具有TIMESTAMP(6)WITH TIME ZONE数据列的表的.NET应用程序的SQL查询中,我收到以下异常.
System.Data.OracleClient.OracleException : ORA-01805: possible error in date/time operation
异常的suggested action是为了确保客户端和服务器是相同的版本:
ORA-01805: possible error in date/time operation
Cause: The timezone files on client and server do not match. Operation can potentially result in incorrect results based on local timezone file.
Action: Please ensure client and server timezone versions are same.
我运行了以下查询来检查有问题的数据库的时区.我没有找到有关如何为客户端设置时区(或更改时区文件)的信息.
SELECT dbtimezone FROM DUAL; select * from v$timezone_file; DBTIMEZONE ---------- +00:00 FILENAME VERSION -------------------- ---------------------- timezlrg_14.dat 14
我假设客户端指的是我安装的Instant Client,版本是11_2?我正在通过.NET Framework提供的System.Data.OracleClient.OracleConnection运行查询.我假设“timezone version”它指的是时区文件版本.我没看到即时客户端有时区文件.任何建议都是适用的.
解决方法
使用“genezi -v”来了解时区文件版本.
这是我的Linux框中的示例:
$genezi -v Client Shared Library 32-bit - 11.2.0.2.0 System name: Linux Release: 2.6.32-34-generic Version: #77-Ubuntu SMP Tue Sep 13 19:39:17 UTC 2011 Machine: x86_64 Operating in Instant Client mode. Small timezone file = timezone_14.dat Large timezone file = timezlrg_14.dat
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。