[ http://issues.apache.org/jira/browse/DERBY-374?page=all ]
Deepa Remesh updated DERBY-374:
-------------------------------
Attachment: derby-374.diff
derby-374.status
The patch fixes the first case 1) Use of a colon to separate attributes.
ClientDriver.java now checks for ":" in the database name and attributes part
of URL. A ":" is accepted if the database name is specified as an absolute path
on Windows (C:/myDBs/sample). In all other cases, it will give "Invalid
database url syntax".
I think case 2) Use of double-quotes to specify a full path to a database is
not valid. This is not supported by Derby embedded driver.
Ran derbyall with Sun JDK 1.4.2. No failures.
> Invalid URL with Derby Client when connecting to Network Server causes
> protocol exception.
> ------------------------------------------------------------------------------------------
>
> Key: DERBY-374
> URL: http://issues.apache.org/jira/browse/DERBY-374
> Project: Derby
> Type: Bug
> Components: Network Client
> Versions: 10.2.0.0, 10.1.1.0
> Environment: Network Server running with Derby client on Windows 2000.
> Reporter: A B
> Assignee: Deepa Remesh
> Fix For: 10.2.0.0
> Attachments: derby-374.diff, derby-374.status
>
> If using the Derby Client to connect to the Derby Network Server, there are
> some cases where an invalid URL will cause a protocol exception instead of
> throwing a proper error. The two cases I've found are as follow:
> 1) Use of a colon to separate attributes:
> When connecting to the server with JCC, a colon is required to demarcate the
> Derby attributes from the JCC attributes. For the Derby Client, however, the
> colon is not a valid part of the URL, so use of it should return an error.
> However, the result is a protocol exception:
> ij> connect
> 'jdbc:derby://localhost:1528/sample:user=someUsr;password=somePwd';
> agentThread[DRDAConnThread_9,5,main]
> ERROR (no SQLState): A communication error has been detected. Communication
> protocol being used: Reply.fill(). Communication API being used:
> InputStream.read(). Location where the error was detected:
> insufficient data. Communication function detecting the error: *. Protocol
> specific error codes(s) TCP/IP SOCKETS
> 2) Use of double-quotes to specify a full path to a database.
> The use of double-quotes around a database path is required when connecting
> to the server with JCC, but should be optional when using the Derby Client.
> However, attempts to use the double-quotes doesn't work--on the contrary, it
> throws a protocol exception:
> ij> connect 'jdbc:derby://localhost:1528/"C:/myDBs/sample"';
> agentThread[DRDAConnThread_11,5,main]
> ERROR (no SQLState): A communication error has been detected. Communication
> protocol being used: Reply.fill(). Communication API being used:
> InputStream.read(). Location where the error was detected:
> insufficient data. Communication function detecting the error: *. Protocol
> specific error codes(s) TCP/IP SOCKETS
> Without quotes, the above example will work as expected.
> I'm not sure if the problem is with the Derby client or the Network Server
> (more investigation required).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira