000032018 - No suitable driver found for jdbc:jdbc:postgresql error with PostgreSQL database collectors with RSA Identity Management and Governance 6.9.1

Document created by RSA Customer Support Employee on Nov 2, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000032018
Applies ToRSA Product Set: Identity Management and Governance
RSA Product/Service Type: Access Certification Manager
RSA Version/Condition: 6.9.1
Platform: JBoss
 
Issue
After creating a collector to collect from PostgreSQL Database, the error below is displayed when testing the collector:

Collector test failed:
com.aveksa.server.runtime.ServerException: Test request failed with response:
com.aveksa.server.runtime.ServerException:
com.aveksa.sdk.collector.CollectionException: com.aveksa.common.DataReadException:
ERROR: Could not get accounts data: .
Caused by com.aveksa.common.DataReadException: ERROR: Could not get accounts data: .
Caused by java.sql.SQLException: No suitable driver
found for jdbc:jdbc:postgresql://<IP_address_of_database_server>:7050/db

In the example below, the collector test failure happened when connecting to an RSA SecurID appliance running Authentication Manager 8.1:
 
com.aveksa.common.DataReadException:ERROR:Could not get accounts data:.Caused by java.sql.SQLException: No suitable driver
found for jdbc:jdbc:postgresql://192.168.26.139:7050/db Caused by Stack com.aveksa.sdk.collectior.CollectionException:

 

User-added image
CauseWhen creating a collector from a PostgreSQL database, the default URL contains an extra instance of the string jdbc:, as in the example below:
jdbc:jdbc:postgresql://<host>:<port>/db

You have to manually download and add the appropriate PostgreSQL JDBC driver to the IMG server using the suitable permissions.
Resolution

To fix the database connection URL


Edit the collector Database Connection URL to remove the extra jdbc: value. The URL should look like the example below:


jdbc:postgresql://<host>:<port>/<database>


To fix the missing/incompatible driver


  1. Download the latest PostgreSQL JDBC4 driver that is compatible with IMG 6.9.1 JDK 1.6 from the PostgreSQL website (i. e., postgresql-9.4-1205.jdbc4.jar).
  2. Use any file transfer tool (for example, WinSCP, FileZilla, etc.) to copy the downloaded .jar file to the IMG server and into /home/oracle/jboss/server/default/deploy/aveksa.ear/aveksa.war/WEB-INF/LocalAgent/common/lib/.
  3. Make sure the file owners are set to oracle:oinstall, and the file permissions are set to rw- for both owner and group owner.
  4. When logged in as root, use the commands below to change permissions as root:
cd /home/oracle/jboss-4.2.2.GA/server/default/deploy/aveksa.ear/aveksa.war/WEB-INF/LocalAgent/common/lib/
chown oracle:oinstall postgresql-9.4-1205.jdbc4.jar
chmod 660 postgresql-9.4-1205.jdbc4.jar

  1. Restart the Identity Governance and Lifecycle services:
acm restart

Attachments

    Outcomes