Oracle ORA-01805在Oracle 11g数据库上

我们的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

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...