我正在使用连接字符串连接到Oracle数据库。当我在本地运行我的代码时,一切正常,但是当我将相同的代码部署到PCF时,我得到“ ORA-00604:递归SQL级别1和ORA-01882:找不到时区区域”。
我在执行线路connection.Open()时收到此错误。直到那里一切正常。但是当我在本地运行时,此行有效。
有人可以帮我吗?这是PCF问题吗?
1)解决方案是使用数据库支持的时区。这可以通过设置TZ环境变量来完成。设置TZ后,将使用其值而不是操作系统的默认时区。
2)...将连接属性oracle.jdbc.timezoneAsRegion设置为“ false”。这恢复为会话时区行为的旧样式。
要使用方法1,请使用以下命令:
cf set-env <app-name> TZ '<your-timezone>'
cf restage <app-name>
要使用方法2,请使用以下命令:
cf set-env <app-name> JAVA_OPTS '-Doracle.jdbc.timezoneAsRegion=false'
cf restage <app-name>