Question
Unable to connect to database. Will only use properties from file.
Hi,
We are right now trying to install Pega 7.3.1 on Tomcat 8.5 / Oracle 11g / Solaris 10. I have successfully completed database setup and now in the process of application server setup. I was able to deploy prweb.war from Tomcat Manager but prweb won't start up for some reason. I have copied JDBC driver (ojdbc6.jar) into application server's Tomcat lib directory, and updated context.xml file properly. We also believe sufficient privilege to Oracle runtime user. I have restarted Tomcat, but the status stays false. In the catalina.out log, ERROR is seen as below:
18-May-2018 16:19:54.415 1050 [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource. Bootstrap datatables schema: DATA
18-May-2018 16:19:55.496 重大 [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource. Unable to connect to database. Will only use properties from file.
java.sql.SQLSyntaxErrorException: ORA-00942: 表またはビューが存在しません。
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:884)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1167)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1289)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3628)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1493)
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:82)
at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:82)
at com.pega.pegarules.internal.bootstrap.SettingReaderDB.getAllClassificationSettingsDB(SettingReaderDB.java:87)
at com.pega.pegarules.internal.bootstrap.SettingReaderDB.getSettingsDB(SettingReaderDB.java:154)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapPropertiesFromDB(PRBootstrapDataSource.java:663)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapPropertiesFromDB(PRBootstrapDataSource.java:643)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapProperties(PRBootstrapDataSource.java:620)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapProperties(PRBootstrapDataSource.java:614)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.<clinit>(PRBootstrap.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.checkForStartup(AppServerBridgeToPega.java:117)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.internal.web.servlet.WebAppLifeCycleListenerBoot.contextInitialized(WebAppLifeCycleListenerBoot.java:92)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4792)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:985)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
It seems it is not able to connect to database via JDBC from application server. Please help.
Thanks,
Hi,
The issue was solved. It was caused by the following wrong settings in $CATALINA_HOME/conf/context.xml: I was putting "RULES" instead of our actual schema name.
<Environment
name="prconfig/database/databases/PegaRULES/defaultSchema"
value="<RULES_SCHEMA_NAME>"
type="java.lang.String"
/>
Thanks,