db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dyre Tjeldvoll (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-728) Unable to create databases whose name containg Chinese characters through the client driver
Date Wed, 10 Dec 2008 14:40:44 GMT

    [ 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.


Mime
View raw message