Wednesday, March 16, 2011

ADF Runtime DB Connection Error

While creating an ADF Fusion Web Application with a database datacontrol, the following error is encountered while running the application.

oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:253)
at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:168)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:546)
at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:327)
at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:104)
Truncated. see log file for complete stacktrace
java.sql.SQLException: ORA-01005: null password given; logon denied

This is because, the ADF model project fails to register the password with the app server which cause this SQL exception.

In order to overcome this error, edit the EXTRA_JAVA_PROPERTIES and append -Djps.app.credential.overwrite.allowed=true property under the setSOADomainEnv.cmd (In Windows) or setSOADomainEnv.sh (In Linux) file as follows. This file will be located under <<Middleware_Home>>\user_projects\domains\<Your_Domain_Name>\bin folder.

set EXTRA_JAVA_PROPERTIES=%EXTRA_JAVA_PROPERTIES% -Djps.app.credential.overwrite.allowed=true -da:org.apache.xmlbeans...

Restart the Oracle Weblogic server.

4 comments:

  1. Very helpful post! Solved my problem as well. Thanks.

    ReplyDelete
  2. Very very useful!! I struggled with different sites and finally got the rt solution suggested by you!!

    ReplyDelete
  3. Thanks Sathya. It worked!!.

    Quick Question: Our UI was working so far without any issues, I made the code change then I started getting the error message in the blog. If I need to make this change I need to convince the whole team.

    I would like to know if this breaks any existing processes / Ui. Please advise.

    Thanks

    ReplyDelete
    Replies
    1. Thanks for your comments. I haven't seen this breaking other functions. Remember, the functionality of this flag. This migrates the credentials from your development environment to production. Typically the credential store for production is different from development. If this is the case, you must manually configure your credential store in production.

      Delete