[
https://issues.apache.org/jira/browse/OPENJPA-538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12580052#action_12580052
]
Fay Wang commented on OPENJPA-538:
----------------------------------
HI Kevin,
Thanks for your comments. I debugged through and found that
JBDCConfigurationImpl.getDataSource2 will call getDataSource if
getConnectionFactory2 is null. In my test case, I use type 4 url and the
ConnectionDriverName is com.ibm.db2.jcc.DB2Driver (instead of
org.apache.commons.dbcp.BasicDataSource). Also, the ConnectionFactory2 is null
in my testcase.
The datasource that is returned from getDataSource2 is
DecoratingDataSource. The call to DecoratingDataSource.getConnection( )
eventually leads to SimpleDriverDataSource.getConnection(null). An SQL error
therefore occurrs when type 4 url is used without user name and password.
Another information is if I use org.apache.commons.dbcp.BasicDataSource as
ConnectionDriverName, then the test case works fine, because it is in the
BasicDataSource.getConnection( ) that is invoked, instead of
SimpleDriverDataSource.
We probably need to modify java doc to take into account the case when
SimpleDriverDataSource is used.
> In the case when user id and password are provided, openjpa should use them
> in the call to getConnection to avoid "Null userid is not supported" thrown
> from the backend.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-538
> URL: https://issues.apache.org/jira/browse/OPENJPA-538
> Project: OpenJPA
> Issue Type: Bug
> Components: jdbc
> Affects Versions: 1.1.0
> Reporter: Fay Wang
> Fix For: 1.1.0
>
> Attachments: OPENJPA-538.637439.patch
>
>
> [jcc][t4][10205][11234][3.51.74] Null userid is not supported.
> ERRORCODE=-4461, SQLSTATE=42815
> org.apache.openjpa.jdbc.sql.SQLExceptions.narrow(SQLExceptions.java:146)
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4054)
> org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:501)
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:80)
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.allocateSequence(TableJDBCSeq.java:402)
> org.apache.openjpa.jdbc.kernel.TableJDBCSeq.nextInternal(TableJDBCSeq.java:266)
> org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next(AbstractJDBCSeq.java:60)
> org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java:160)
> org.apache.openjpa.util.ImplHelper.generateFieldValue(ImplHelper.java:144)
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField(JDBCStoreManager.java:592)
> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:464)
> org.apache.openjpa.util.ApplicationIds.assign(ApplicationIds.java:440)
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId(JDBCStoreManager.java:576)
> org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId(DelegatingStoreManager.java:134)
> org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:517)
> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2814)
> org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:39)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.