db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Myrna van Lunteren (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (DERBY-3407) Incorrectly specifying database name with JDBC protocol causes unhelpful error message in client data sources
Date Mon, 03 Nov 2008 20:26:44 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Myrna van Lunteren resolved DERBY-3407.
---------------------------------------

    Resolution: Duplicate

I'm closing this as a duplicate of DERBY-2498.

> Incorrectly specifying database name with JDBC protocol causes unhelpful error message
in client data sources
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3407
>                 URL: https://issues.apache.org/jira/browse/DERBY-3407
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>    Affects Versions: 10.4.1.3
>            Reporter: Kristian Waagan
>            Priority: Minor
>
> If the database name is specified with the JDBC protocol, the user is presented with
very unhelpful error messages.
> On the embedded side, a meaningful error message is produced and presented to the user.
> Even though specifying the JDBC protocol can be classified as a user error, it would
be good if Derby gave a meaningful hint for what is wrong.
> For instance:
> cp.setDatabaseName("jdbc:derby://localhost/kwTestDB");
> cp.get(Pooled|XA)Connection();
> ** For ClientPooledConnectionDataSource and ClientDataSource
> Exception in thread "main" java.lang.NullPointerException
>         at org.apache.derby.client.am.ProductLevel.<init>(ProductLevel.java:41)
>         at org.apache.derby.client.net.NetDatabaseMetaData.<init>(NetDatabaseMetaData.java:40)
>         at org.apache.derby.client.net.NetDatabaseMetaData40.<init>(NetDatabaseMetaData40.java:36)
>         at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetDatabaseMetaData(ClientJDBCObjectFactoryImpl40.java:318)
>         at org.apache.derby.client.net.NetConnection.newDatabaseMetaData_(NetConnection.java:1144)
>         at org.apache.derby.client.am.Connection.completeConnect(Connection.java:1822)
>         at org.apache.derby.client.net.NetConnection.completeConnect(NetConnection.java:412)
>         at org.apache.derby.client.net.NetConnection.initialize(NetConnection.java:297)
>         at org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:231)
>         at org.apache.derby.client.net.NetConnection40.<init>(NetConnection40.java:85)
>         at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(ClientJDBCObjectFactoryImpl40.java:255)
>         at org.apache.derby.jdbc.ClientDataSource.getConnection(ClientDataSource.java:186)
>         at org.apache.derby.jdbc.ClientDataSource.getConnection(ClientDataSource.java:163)
> ** For ClientXADataSource
> Exception in thread "main" java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE:
XCY00, SQLERRMC: databaseNamejdbc:derby://localhost/kwTestDBXCY00.S
>         at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:96)
>         at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:362)
>         at org.apache.derby.client.ClientPooledConnection.<init>(ClientPooledConnection.java:150)
>         at org.apache.derby.client.ClientXAConnection.<init>(ClientXAConnection.java:48)
>         at org.apache.derby.client.ClientXAConnection40.<init>(ClientXAConnection40.java:57)
>         at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newClientXAConnection(ClientJDBCObjectFactoryImpl40.java:94)
>         at org.apache.derby.jdbc.ClientXADataSource.getXAConnectionX(ClientXADataSource.java:88)
>         at org.apache.derby.jdbc.ClientXADataSource.getXAConnection(ClientXADataSource.java:72)
>         at org.apache.derby.jdbc.ClientXADataSource.getXAConnection(ClientXADataSource.java:65)
>         at KWPreparedStatementTest.main(KWPreparedStatementTest.java:37)
> Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: SQLCODE: -1, SQLSTATE:
XCY00, SQLERRMC: databaseNamejdbc:derby://localhost/kwTestDBXCY00.S
>         at org.apache.derby.client.am.Connection.completeSqlca(Connection.java:1953)
>         at org.apache.derby.client.net.NetConnectionReply.parseRdbAccessFailed(NetConnectionReply.java:549)
>         at org.apache.derby.client.net.NetConnectionReply.parseAccessRdbError(NetConnectionReply.java:442)
>         at org.apache.derby.client.net.NetConnectionReply.parseACCRDBreply(NetConnectionReply.java:306)
>         at org.apache.derby.client.net.NetConnectionReply.readAccessDatabase(NetConnectionReply.java:133)
>         at org.apache.derby.client.net.NetConnection.readSecurityCheckAndAccessRdb(NetConnection.java:887)
>         at org.apache.derby.client.net.NetConnection.flowSecurityCheckAndAccessRdb(NetConnection.java:799)
>         at org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(NetConnection.java:632)
>         at org.apache.derby.client.net.NetConnection.flowConnect(NetConnection.java:439)
>         at org.apache.derby.client.net.NetConnection.initialize(NetConnection.java:296)
>         at org.apache.derby.client.net.NetConnection.<init>(NetConnection.java:280)
>         at org.apache.derby.client.net.NetConnection40.<init>(NetConnection40.java:125)
>         at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(ClientJDBCObjectFactoryImpl40.java:293)
>         at org.apache.derby.client.net.NetXAConnection.createNetConnection(NetXAConnection.java:269)
>         at org.apache.derby.client.net.NetXAConnection.<init>(NetXAConnection.java:73)
>         at org.apache.derby.client.ClientPooledConnection.getNetXAConnection(ClientPooledConnection.java:395)
>         at org.apache.derby.client.ClientPooledConnection.<init>(ClientPooledConnection.java:143)
> ** Finally, at least for EmddedConnectionPoolDataSource
> Exception in thread "main" java.sql.SQLException: Invalid value for property 'databaseName'='jdbc:derby:kwTestDB'.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:95)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:88)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:94)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:180)
>         at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:483)
>         at org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(EmbedPooledConnection.java:171)
>         at org.apache.derby.jdbc.EmbedPooledConnection.<init>(EmbedPooledConnection.java:113)
>         at org.apache.derby.jdbc.EmbedPooledConnection40.<init>(EmbedPooledConnection40.java:52)
>         at org.apache.derby.jdbc.Driver40.getNewPooledConnection(Driver40.java:176)
>         at org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.createPooledConnection(EmbeddedConnectionPoolDataSource.java:129)
>         at org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.getPooledConnection(EmbeddedConnectionPoolDataSource.java:75)
>         at KWPreparedStatementTest.main(KWPreparedStatementTest.java:35)
> Caused by: java.sql.SQLException: Invalid value for property 'databaseName'='jdbc:derby:kwTestDB'.
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:135)
>         at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
>         ... 11 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message