Support Article
Database-TableWithNoColumns when testing class mapping
SA-41453
Summary
User have changed the Database rule from 'use JDBC URL listed below' to 'use JDBC Connection Pool'. This is not working due to,
"Connection Problem: Class External-Custom-Class is mapped to table EXTERNAL_SCHEMA.TABLE_NAME which contains no columns."
The user is using Oracle 12c to host the external schema. They have shared the JDBC drivers that they use in JBOSS.
Error Messages
On the screen:
Class AA-Data-Reference-TestSourceGroup is mapped to table EXTERNAL_SCHEMA.TABLE_NAME in database TestPoolConnection.
Issues:
Connection Problem: Class AA-Data-Reference-TestSourceGroup is mapped to table EXTERNAL_SCHEMA.TABLE_NAME which contains no columns.
In the Tracer:
Step Status FAIL
Step Status Info
** Database-TableWithNoColumns EXTERNAL_SCHEMA.TABLE_NAME TestPoolConnection
Steps to Reproduce
We have successfully modified an external connection to a schema hosted in the Cloud. We are now trying to do the same for a connection to an external database hosted by the client's database infrastructure.
1. Set up the connection using JDBC URL. Test the connection for a Database Table rule.
2. Add the JDBC Pool configuration to the Tomcat and prweb.war configuration
3. Create a new Database rule using the JNDI reference to the pool and test the connection
4. Modify the Database Table rule to use the new Database rule and test the connection
Root Cause
An issue in the custom application code or rules;
This is due to known issue with the database driver and the same was mentioned under SA-14137 https://pdn.pega.com/support-articles/test-connectivity-fails-oracle-synonym-back-end-table
Resolution
Here’s the explanation for the reported behavior:
User tested a user with different privileges and that works. User does not know what privileges have made the difference. User will work with their DBA
Published March 26, 2018 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.