ORA-01882: timezone region not found(ORA-01882: 未找到时区区域)
问题描述
我从 Java 应用程序访问 Oracle 数据库,当我运行我的应用程序时出现以下错误:
I'm accessing an Oracle Database from a java application, when I run my application I get the following error:
java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 发生错误ORA-01882: 未找到时区区域
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found
推荐答案
您也可以尝试检查 Oracle jdbc 驱动程序和 Oracle 数据库的版本.就在今天,我在使用 ojdbc6.jar(版本 11.2.0.3.0)连接到 Oracle 9.2.0.4.0 服务器时遇到了这个问题.将其替换为 ojdbc6.jar 版本 11.1.0.7.0 解决了问题.
You may also try to check the version of the Oracle jdbc driver and Oracle database. Just today I had this issue when using ojdbc6.jar (version 11.2.0.3.0) to connect to an Oracle 9.2.0.4.0 server. Replacing it with ojdbc6.jar version 11.1.0.7.0 solved the issue.
我还设法使 ojdbc6.jar 版本 11.2.0.3.0 无错误地连接,方法是在文件 oracle/jdbc/defaultConnectionProperties.properties(在 jar).在此处(断开的链接)
I also managed to make ojdbc6.jar version 11.2.0.3.0 connect without error, by adding oracle.jdbc.timezoneAsRegion=false in file oracle/jdbc/defaultConnectionProperties.properties (inside the jar). Found this solution here (broken link)
然后,可以在命令行中添加-Doracle.jdbc.timezoneAsRegion=false,或者在使用的配置文件中添加AddVMOption -Doracle.jdbc.timezoneAsRegion=false这个符号.
Then, one can add -Doracle.jdbc.timezoneAsRegion=false to the command line, or AddVMOption -Doracle.jdbc.timezoneAsRegion=false in config files that use this notation.
您也可以以编程方式执行此操作,例如使用 System.setProperty.
You can also do this programmatically, e.g. with System.setProperty.
在某些情况下,如果允许,您可以在每个连接的基础上添加环境变量(SQL Developer 在高级"连接属性中允许这样做;我验证它在连接到没有问题并使用数据库链接到具有的数据库).
In some cases you can add the environment variable on a per-connection basis if that's allowed (SQL Developer allows this in the "Advanced" connection properties; I verified it to work when connecting to a database that doesn't have the problem and using a database link to a database which has).
这篇关于ORA-01882: 未找到时区区域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ORA-01882: 未找到时区区域
基础教程推荐
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 在多列上分布任意行 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
