Tiago Espinha <[email protected]> writes:
> Thank you Knut, for your reply.
>
> Your point #1 is correct. As for point #2 and #3 just a small correction. It
> is
> all characters falling outside the *US-ASCII* encoding that will get a length
> lower than 255 characters as anything other than ASCII requires more than
> just 1
> byte to encode. I'm fairly sure that at this point we do not support
> ISO-8859-1
> through the client driver as these characters (the extended ones like áéó
> etc)
> fall outside US-ASCII. So hopefully this won't break anything as we didn't
> support these characters previously.
I think we do support this. At least, this code ran fine on my machine
with Derby 10.6.1.0 and created a database named áéó:
Connection c = DriverManager.getConnection(
"jdbc:derby://localhost/\u00E1\u00E9\u00F3;create=true");
> As for your suggestion of increasing the length of the field, I'm not sure
> that's an option. This length limitation is imposed by the DRDA specification
> and the ACR unfortunately didn't change this. On the ACR it reads "As of DDM
> Level 7, the RDBNAM can accommodate an RDB name of up to 255 bytes in length,
> and its format will vary depending on the length of the RDB name". So
> essentially, we could easily support a much larger RDB name on Derby but the
> specification forbids it.
DRDA does allow product-unique extensions. I have a hard time seeing any
downside with extending the protocol here. Sending a longer string than
what a strict reading of the spec permits sounds like a lesser evil to
me than disallowing network access to the database.
--
Knut Anders