You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2008/11/24 22:49:44 UTC
[jira] Commented: (DERBY-728) Unable to create databases whose name
containg Chinese characters through the client driver
[ https://issues.apache.org/jira/browse/DERBY-728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12650339#action_12650339 ]
Kathey Marsden commented on DERBY-728:
--------------------------------------
Bernt said in this issue:
"... the path is encoded in EBCDIC (default DRDA encoding) between network client and server, and thus a character set equivalent to ISO-8859-1 is supported. This does *not* include chinese characters."
Are we locked into EBCDIC for this initial negotiation? I believe for data transfer etc, we use UTF-8. Could we change future versions to use UTF-8 for negotiating the databasename, user and password, or would that be in violation of the standard?
Thanks
Kathey
> 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.