db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepa Remesh <drem...@gmail.com>
Subject Re: [jira] Updated: (DERBY-374) Invalid URL with Derby Client when connecting to Network Server causes protocol exception.
Date Tue, 20 Sep 2005 16:14:09 GMT
Kathey, I checked with network server trace on and for the URLs below,
the server does not reach till ACCRDB response to send a RDBAFLRM.

* 'jdbc:derby://localhost:1527/sample:create=true'
* 'jdbc:derby://localhost:1527/"C:/myDBs/sample";create=true'

These URLs cause a NullPointerException in the server. The NPE is
caused in Database.makeConnection method at the second line below:

Connection conn =
NetworkServerControlImpl.getDriver().connect(Attribute.PROTOCOL +
dbName + attrString, p);
conn.setAutoCommit(false);

InternalDriver connect method returns null for these URLs because it
does not find a suitable driver. No exception is thrown by
InternalDriver. At the server, Database.makeConnection proceeds to the
next statement "conn.SetAutoCommit(false)" and it gets a NPE. The root
cause of the problem is in network server. So I will remove my patch
which added checks for malformed URLs in ClientDriver. I am changing
the server to handle such URLs.

Army, the problem you mentioned about use of single quotes will also
be handled by the server after this change.

I am using RDBAFLRM for failure to find a suitable driver. Is this
okay or is there any specific message type that must be used in such a
case?

When looking at this, I found another problem in the translation of
the network URL. The network URL
'jdbc:derby://localhost:1527/"C:/myDBs/sample";create=true' gets
translated to the internal URL
'jdbc:derby:"C:/myDBs/sample";create=true;create=true'. The create
attribute gets repeated and the database name used at server is
"C:/myDBs/sample";create=true. I have not yet looked at this problem.

Thanks,
Deepa

Mime
View raw message