Unable to calculate codeset version from database: Cannot create PoolableConnectionFactory
Hi,
I'm getting "Unable to calculate codeset version from database: Cannot create PoolableConnectionFactory" after upgrading my system to Pega 7.2.
Not sure if the issue is related to the value for pzcodesetversion on table rules.pr_engineclasses, what should be the value? or if this is related to something else.
Thanks,
Oscar
Message was edited by: Lochan to add Category
-
Like (0)
-
Accepted Solution
It complains on connecting to Database.
Can you please see if you are able to ping database server ?
Also, check firewall etc

It is related to the pr_engineclasses table where we calculate the codeset version (e.g., for 7.2, the value is 07-10-23). But most likely you issue is something else (the error is just a victim), please attach your complete startup log.

This is the log
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421:
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421:
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine classes schema: rules
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Assembled classes schema: rules
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: prbootstrap.properties merged with prbootstrap entries in Data-Admin-System-Settings
Apr 25, 2016 12:45:10 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
This is the log
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421:
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421:
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine classes schema: rules
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Assembled classes schema: rules
Apr 25, 2016 12:44:32 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: prbootstrap.properties merged with prbootstrap entries in Data-Admin-System-Settings
Apr 25, 2016 12:45:10 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: PRBootstrap.calculateEngineCodeVersionFromDB() - unable to calculate codeset version from database: Cannot create PoolableConnectionFactory (The TCP/IP connection to the host corrdcpegadb01, port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".)
Apr 25, 2016 12:45:10 PM com.pega.pegarules.internal.bootstrap.PRMiniLoader
19830421: Will load phase 2 bootstrap from Pega-EngineCode:
Context.xml content
<Environment name="prconfig/database/databases/PegaRULES/defaultSchema" value="rules" type="java.lang.String" />
<Environment name="prconfig/database/databases/PegaDATA/defaultSchema" value="data" type="java.lang.String" />
<Resource name="jdbc/PegaRULES"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://corrdcpegadb01:1433;databaseName=prpc_sbx_devjaws40;
SelectMethod=cursor;SendStringParametersAsUnicode=false"
username="prpc_sbx_devjaws40"
password="************"
maxActive="100"
maxIdle="30"
maxWait="10000"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
Here in context.xml, we can see that your PegaRULES and PegaDATA schema names are, rules and data respectively.
Can you please try using data against username in context.xml? You Data schema password against password field.
You need to restart the tomcat post this change.
A modified context.xml would look like:
<Environment name="prconfig/database/databases/PegaRULES/defaultSchema" value="rules" type="java.lang.String" />
<Environment name="prconfig/database/databases/PegaDATA/defaultSchema" value="data" type="java.lang.String" />
<Resource name="jdbc/PegaRULES"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://corrdcpegadb01:1433;databaseName=prpc_sbx_devjaws40;
SelectMethod=cursor;SendStringParametersAsUnicode=false"
username="data"
password=
maxActive="100"
maxIdle="30"
maxWait="10000"
Here in context.xml, we can see that your PegaRULES and PegaDATA schema names are, rules and data respectively.
Can you please try using data against username in context.xml? You Data schema password against password field.
You need to restart the tomcat post this change.
A modified context.xml would look like:
<Environment name="prconfig/database/databases/PegaRULES/defaultSchema" value="rules" type="java.lang.String" />
<Environment name="prconfig/database/databases/PegaDATA/defaultSchema" value="data" type="java.lang.String" />
<Resource name="jdbc/PegaRULES"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://corrdcpegadb01:1433;databaseName=prpc_sbx_devjaws40;
SelectMethod=cursor;SendStringParametersAsUnicode=false"
username="data"
password=
maxActive="100"
maxIdle="30"
maxWait="10000"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
OK the error related to EngineCodeVersion is gone, now I get:
SEVERE: Unable to connect to database. Will only use properties from file.
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The TCP/IP connection to the host corrdcpegadb01, port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".)
OK the error related to EngineCodeVersion is gone, now I get:
SEVERE: Unable to connect to database. Will only use properties from file.
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (The TCP/IP connection to the host corrdcpegadb01, port 1433 has failed. Error: "null. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".)
It works now!
It looks like the DNS server name was not recognized so I changed the server name to its IP in the context.xml file and now it works.
Thanks for the quick support.
Oscar