Unable to create databases whose name containg Chinese characters through the
client driver
-------------------------------------------------------------------------------------------
Key: DERBY-728
URL: http://issues.apache.org/jira/browse/DERBY-728
Project: Derby
Type: Bug
Components: Network Client
Versions: 10.1.2.1
Environment: Debian unstable, LInux 2.6.14.2, libc 2.3.5-6
Reporter: Andrei Badea
Trying to create a database with the following URL (note the Chinese character
in the database name):
jdbc:derby://localhost:1527/\u4e10;create=true
throws the following exception:
-----%<-----
Exception in thread "main" org.apache.derby.client.am.SqlException: Unicode
string can't convert to Ebcdic string
at
org.apache.derby.client.net.EbcdicCcsidManager.convertFromUCS2(Unknown Source)
at org.apache.derby.client.net.Request.writeScalarPaddedString(Unknown
Source)
at org.apache.derby.client.net.NetConnectionRequest.buildRDBNAM(Unknown
Source)
at org.apache.derby.client.net.NetConnectionRequest.buildACCSEC(Unknown
Source)
at
org.apache.derby.client.net.NetConnectionRequest.writeAccessSecurity(Unknown
Source)
at
org.apache.derby.client.net.NetConnection.writeServerAttributesAndKeyExchange(Unknown
Source)
at
org.apache.derby.client.net.NetConnection.flowServerAttributesAndKeyExchange(Unknown
Source)
at
org.apache.derby.client.net.NetConnection.flowUSRIDONLconnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.flowConnect(Unknown Source)
at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at jdbctest.Main.main(Main.java:33)
-----%<-----
It's possible, however, to create databases using the embedded driver, using an
URL like:
jdbc:derby:\u4e10;create=true
Tested with both 10.1.1.0 and 10.1.2.1 with the same result.
Complete code to reproduce the bug:
-----%<-----
public static void main(String[] args) throws Exception {
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection conn =
DriverManager.getConnection("jdbc:derby://localhost:1527/\u4e10;create=true");
}
-----%<-----
--
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