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

Reply via email to