如何将 Oracle JVM 参数添加到 Tomcat 执行

How to add Oracle JVM arguments to Tomcat execution

我在我的应用程序上使用 Oracle 11G 版本,它是一个 Apache Tomcat 服务器。

有些用户在使用特定时区(例如 ETC/Universal)时会遇到一些数据库查询问题。 Oracle 抛出以下异常:

ORA-01882: timezone region not found

我找到了解决此问题的方法。有一个特定的参数需要在启动时给JVM:

-Doracle.jdbc.timezoneAsRegion=false

我想把这个放在Tomcat的配置中。 我需要一个 Windows 和一个 Linux 解决方案。我可以把这个设置放在哪里?

您可以在 tomcat 的启动脚本中添加 JVM 参数(通常是 catalina.bat 或 catalina.sh)。

对于Windows (catalina.bat)

set JAVA_OPTS="%JAVA_OPTS% -Doracle.jdbc.timezoneAsRegion=false"

对于 linux (catalina.sh)

JAVA_OPTS="$JAVA_OPTS -Doracle.jdbc.timezoneAsRegion=false"
export JAVA_OPTS

您还可以在任何版本的库中更新文件 oracle/jdbc/defaultConnectionProperties.properties(即在您的 jar 中 - ojdbc7.jar 或 classes12.jar)您正在使用包含以下行:

oracle.jdbc.timezoneAsRegion=false