[ 
https://issues.apache.org/jira/browse/DERBY-728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655228#action_12655228
 ] 

Dyre Tjeldvoll commented on DERBY-728:
--------------------------------------

Just one quick comment here. I once started looking at this issue and I i got 
some way towards a solution. My impression from looking at the DRDA spec is 
that it may not be THEORETICALLY possible (because of limitations such as those 
mentioned by Kathey), but in PRACTICE there should be possible to extend 
Derby's driver to use a different encoding and fall back to the old behavior 
when connected to an old server. It should be simple to make the server 
compatible with the new Derby client, old Derby client, DB2 client or the ODBC 
client. 

I think I still have the work that I did on this lying around. I can try to 
make a patch of it, but I can't guarantee that the patch can be made against 
the latest trunk. That patch would by no means be a polished solution, but 
could perhaps be a starting point...



> Unable to create databases whose name containg Chinese characters through the 
> client driver
> -------------------------------------------------------------------------------------------
>
>                 Key: DERBY-728
>                 URL: https://issues.apache.org/jira/browse/DERBY-728
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects 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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to