13 Replies Latest reply: Nov 15, 2012 7:20 AM by ChrisDugdale RSS

    Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.

    ChrisDugdale
      I'm trying to create a simple Java Desktop Application (ADF) in JDeveloper 11g (11.1.2.3.0) which will run on Windows XP (SP3) simply by clicking the JAR file. I have encountered many problems and found solutions but I am now completely stuck. Currently when I execute the JAR I get (oracle.jbo.DMLException) JBO-26061: Error while opening JDBC connection.

      Inside JDeveloper it runs perfectly but I want it to run without JDeveloper. If I run the executable string JDeveloper displays when you click run, this also works fine.

      Here's what I've done -

      Created a demo app using the 'Building a Java Swing application with Oracle ADF' tutorial as a proof of concept.
      Created a deployment profile 'Client Jar Deployment Profile'
      Create a new file group to include all the JAR files.
      Create a manifest.mf listing all the JAR files - making sure not to exceed 70 bytes on each line and every new line starts with 2 spaces and at the end of the line there is no trailing spaces.
      Made sure the jps-config.xml and cwallet.sso is included in the META-INF folder of the JAR.

      I've deployed the JAR file to a folder which contains all the associated JAR files, made sure the manifest.mf is pointing to the correct files and executed my jar (double clicked it) after a short pause (2-3 seconds) that's when the error pops up.


      Here is the error stack

      oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
           at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:218)
           at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:45)
           at oracle.jbo.server.ConnectionPoolDataSource.getConnection(ConnectionPoolDataSource.java:72)
           at oracle.jbo.server.ConnectionPoolDataSource.getConnection(ConnectionPoolDataSource.java:61)
           at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:968)
           at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
           at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
           at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:298)
           at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:329)
           at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:203)
           at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
           at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
           at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
           at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
           at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
           at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
           at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
           at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
           at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
           at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
           at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
           at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
           at view.Form.setBindingContext(Form.java:370)
           at view.Form.main(Form.java:425)



      Here is my manifest
      Manifest-Version: 1.0
      Class-Path: adf-controller-security.jar adf-dt-at-rt.jar adf-share-bas
      e.jar adf-share-ca.jar adf-share-security.jar adf-share-support.jar a
      dfdt_common.jar adflibrary.jar adflogginghandler.jar adfm.jar adfshar
      embean.jar adftransactionsdt.jar bc4j-mbeans.jar bc4jimdomains.jar ca
      che.jar commons-cli-1.0.jar commons-el.jar db-ca.jar dms.jar dvt-jcli
      ent.jar dvt-utils.jar fmw_audit.jar forms-1.0.6.jar groovy-all-1.6.3.
      jar identitystore.jar inspect4.jar jacc-spi.jar javatools-nodeps.jar
      javax.activation_1.1.0.0_1-1.jar javax.jsp_1.2.0.0_2-1.jar javax.mail
      _1.1.0.0_1-4-1.jar javax.management.j2ee_1.0.jar javax.management_1.2
      .1.jar javax.security.jacc_1.0.0.0_1-1.jar javax.servlet_1.0.0.0_2-5.
      jar jdev-cm.jar jdev-rt.jar jewt4.jar jmf.jar jmxframework.jar jmxspi
      .jar jps-api.jar jps-common.jar jps-ee.jar jps-internal.jar jps-manif
      est.jar jps-unsupported-api.jar jsp-el-api.jar ldapjclnt11.jar list.t
      xt mdsrt.jar META-INF model ojdbc6dms.jar ojdl.jar ojmisc.jar oracle-
      el.jar oracle.ucp_11.1.0.jar oraclepki.jar orai18n-mapping.jar orai18
      n.jar oramds.jar ordhttp.jar ordim.jar osdt_cert.jar osdt_core.jar os
      dt_ws_sx.jar osdt_xmlsec.jar resourcebundle.jar runtime12.jar share.j
      ar xml.jar xmlef.jar xmlparserv2.jar
      Main-Class: view.Form

      All of these JARs are in the same folder as my JAR.


      Here's the tutorial i followed - http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_19/jdtut_11r2_19.html


      Any help would be greatly appreciated. Perhaps I'm misunderstanding and Java/ADF applications are not supposed to work without the WLS.


      Many thanks,
      Christian.

      Edited by: ChrisDugdale on Nov 15, 2012 2:41 AM
        • 2. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
          ChrisDugdale
          Thank you for this link but as I read it, it demonstrates how to deploy to a WLS. I'm looking to create a stand alone executable JAR.
          • 3. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
            Shay Shmeltzer-Oracle
            Check the configuration of your AM to see if the connection is defined using a JDBC data source - it should be defined as direct JDBC if you are doing Swing development.
            http://docs.oracle.com/cd/E16162_01/web.1112/e16182/bcservices.htm#sthref330
            • 4. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
              ChrisDugdale
              Hi, Thanks for the response, I can change the connection type in the configurations section between 'JDBC URL' and 'JDBC DataSource' both of which has the same error. How do i define the connection as direct JDBC?

              Many Thanks,
              Christian
              • 5. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                Shay Shmeltzer-Oracle
                JDBC URL is the one you want.
                In that case, can you post the full stack trace? There should be some JDBC error somewhere there.
                • 6. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                  ChrisDugdale
                  That's excellent advice, changing the connection type, I tried this before, it still gives the same error so I didn't think it had much to do with my problem but what I didn't notice is it gives a more meaningful error stack - see below, compared to my original error stack, i think you're on to something good! So, clearly the password isn't being packaged into the JAR, now I thought this might be happening which is why I added "DeployPassword" in the connections.xml file but that hasn't made a difference. I can see the connections.xml in my JAR if i expand it in the META-INF folder, so I know that's included ok, along with jps-config.xml/adf-config.xml/adfm.xml/cwallet.sso/MANIFEST.MF also in the META-INF folder (inside the JAR)


                  I can see the password element contains no value, but I tried changing this before with no luck. I'll try again.

                  connections.xml -

                  <?xml version = '1.0' encoding = 'UTF-8'?>
                  <References xmlns="http://xmlns.oracle.com/adf/jndi">
                  <Reference name="FOD" className="oracle.jdeveloper.db.adapter.DatabaseProvider" credentialStoreKey="FOD" xmlns="">
                  <Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
                  <RefAddresses>
                  <StringRefAddr addrType="sid">
                  <Contents>DEVSHED</Contents>
                  </StringRefAddr>
                  <StringRefAddr addrType="subtype">
                  <Contents>oraJDBC</Contents>
                  </StringRefAddr>
                  <StringRefAddr addrType="port">
                  <Contents>1521</Contents>
                  </StringRefAddr>
                  <StringRefAddr addrType="hostname">
                  <Contents>moe</Contents>
                  </StringRefAddr>
                  <StringRefAddr addrType="user">
                  <Contents>fod</Contents>
                  </StringRefAddr>
                  <SecureRefAddr addrType="password"/>
                  <StringRefAddr addrType="DeployPassword">
                  <Contents>true</Contents>
                  </StringRefAddr>
                  <StringRefAddr addrType="oraDriverType">
                  <Contents>thin</Contents>
                  </StringRefAddr>
                  </RefAddresses>
                  </Reference>
                  </References>



                  oracle.jbo.DMLException: JBO-26061: Error while opening JDBC connection.
                       at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:207)
                       at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
                       at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
                       at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
                       at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
                       at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
                       at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
                       at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
                       at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
                       at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
                       at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
                       at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
                       at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
                       at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
                       at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
                       at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
                       at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
                       at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
                       at view.Form.setBindingContext(Form.java:370)
                       at view.Form.main(Form.java:425)
                  Caused by: java.sql.SQLException: ORA-01005: null password given; logon denied

                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
                       at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
                       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
                       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
                       at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
                       at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
                       at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
                       at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
                       at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
                       at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
                       at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
                       ... 31 more
                  ## Detail 0 ##
                  java.sql.SQLException: ORA-01005: null password given; logon denied

                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
                       at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
                       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
                       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
                       at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
                       at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
                       at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
                       at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
                       at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
                       at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
                       at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
                       at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
                       at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
                       at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
                       at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
                       at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
                       at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
                       at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
                       at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
                       at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
                       at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
                       at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
                       at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
                       at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
                       at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
                       at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
                       at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
                       at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
                       at view.Form.setBindingContext(Form.java:370)
                       at view.Form.main(Form.java:425)

                  ----- Level 1: Detail 0 -----
                  java.sql.SQLException: ORA-01005: null password given; logon denied

                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
                       at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
                       at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
                       at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
                       at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
                       at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
                       at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
                       at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
                       at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
                       at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
                       at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at java.sql.DriverManager.getConnection(Unknown Source)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:144)
                       at oracle.jbo.server.URLConnectionHelper.getConnectionFromDriver(URLConnectionHelper.java:50)
                       at oracle.jbo.server.ConnectionPool.createConnection(ConnectionPool.java:195)
                       at oracle.jbo.server.ConnectionPool.instantiateResource(ConnectionPool.java:166)
                       at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:580)
                       at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:313)
                       at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:102)
                       at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
                       at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:52)
                       at oracle.jbo.server.URLConnectionHelper.getConnection(URLConnectionHelper.java:129)
                       at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:978)
                       at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1147)
                       at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:6838)
                       at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:130)
                       at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:213)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:600)
                       at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:417)
                       at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:9053)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4606)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4697)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2536)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2346)
                       at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:3245)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:571)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:504)
                       at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:499)
                       at oracle.adf.model.bc4j.DCJboDataControl.initializeApplicationModule(DCJboDataControl.java:517)
                       at oracle.adf.model.bc4j.DCJboDataControl.getApplicationModule(DCJboDataControl.java:867)
                       at oracle.adf.model.binding.DCBindingContainer.setDataControl(DCBindingContainer.java:571)
                       at oracle.jbo.uicli.jui.JUPanelBinding.useDefaultDataControl(JUPanelBinding.java:912)
                       at oracle.jbo.uicli.jui.JUPanelBinding.setup(JUPanelBinding.java:125)
                       at view.Form.setBindingContext(Form.java:370)
                       at view.Form.main(Form.java:425)
                  • 7. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                    ChrisDugdale
                    I've altered my connections.xml (see below) to include the password but i'm still getting ->

                    (oracle.jbo.DMLException) JBO-26061: Error while opening JDBC connection.
                    ----- Level 1: Detail 0 -----
                    (java.sql.SQLException) ORA-01005: null password given; logon denied


                    I'm guessing I'm going down the wrong path. Any suggestions please. Thanks!

                    <?xml version = '1.0' encoding = 'UTF-8'?>
                    <References xmlns="http://xmlns.oracle.com/adf/jndi">
                    <Reference name="FOD" className="oracle.jdeveloper.db.adapter.DatabaseProvider" credentialStoreKey="FOD" xmlns="">
                    <Factory className="oracle.jdeveloper.db.adapter.DatabaseProviderFactory"/>
                    <RefAddresses>
                    <StringRefAddr addrType="sid">
                    <Contents>DEVSHED</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="subtype">
                    <Contents>oraJDBC</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="port">
                    <Contents>1521</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="hostname">
                    <Contents>moe</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="user">
                    <Contents>fod</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="DeployPassword">
                    <Contents>true</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="Password">
                    <Contents>fusion</Contents>
                    </StringRefAddr>
                    <StringRefAddr addrType="oraDriverType">
                    <Contents>thin</Contents>
                    </StringRefAddr>
                    </RefAddresses>
                    </Reference>
                    </References>
                    • 8. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                      Puthanampatti
                      May be this issue related to cwallet.sso. Edit the db connection, intentionally provide wrong password, save and click ok. Edit the same again, this time provide correct info. Try this, it could resolve the issue.
                      • 9. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                        ChrisDugdale
                        Hi, here's what I did -

                        In the Application Resources - connections tab I edited my connection (FOD) changed the password to the wrong password, clicked save, then changed to the correct password and clicked save, then deployed my app. No difference unfortunately, but thanks for the suggestion.

                        Christian
                        • 10. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                          dvohra21
                          Setting connection type as data source fixed error for a similar post.
                          https://kr.forums.oracle.com/forums/thread.jspa?threadID=1067535

                          Is a Root Cause of error listed?
                          • 11. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                            kdario
                            Maybe you can try to change password programmatically(by using custom EnvInfoProvider), something like this:
                            http://www.oracle.com/technetwork/developer-tools/jdev/dynamicjdbchowto-101755.html
                            http://jobinesh.blogspot.com/2011/04/modifying-application-modules-jdbc.html

                            Dario
                            • 12. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                              ChrisDugdale
                              Actually Dario, that's a very good point, I never really thought of that as an option as it was just a proof of concept app, but the completed app would have a login screen. It's a little frustrating that outside of JDeveloper I couldn't get it to pick up the DB connection details. I'm assuming the password is encrypted on the cwallet.sso file and I have no idea why it can't read it or if I've set it up correctly, but like you say change the password programmatically, problem solved.

                              Thanks all!
                              • 13. Re: Executable JAR using ADF displays JBO-26061: Error while opening JDBC conn.
                                ChrisDugdale
                                That's a good find but changing the connection type to 'JDBC URL' gave me a more detailed error stack (for my ADF Swing app) and uncovered the fact that the password was null, setting the connection type to 'JDBC DataSource' gave me the same connection error but with no reason. I still think it's got something to with the cwallet.sso, but as suggested I can change the connection details programmatically.