You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Trejkaz <tr...@trypticon.org> on 2011/09/02 09:01:42 UTC
Derby and database names containing a semicolon
Hi all.
I am getting an error like this when the database directory has a
semicolon in it:
java.sql.SQLException: The URL
'jdbc:derby:C:\Users\Me\Desktop\one;two' is not properly formed.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:98)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:142)
at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:148)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:227)
at org.apache.derby.jdbc.InternalDriver.getAttributes(InternalDriver.java:376)
at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:190)
at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(EmbeddedDataSource.java:480)
at org.apache.derby.jdbc.EmbedPooledConnection.openRealConnection(EmbedPooledConnection.java:178)
at org.apache.derby.jdbc.EmbedPooledConnection.<init>(EmbedPooledConnection.java:119)
at org.apache.derby.jdbc.EmbedPooledConnection40.<init>(EmbedPooledConnection40.java:54)
at org.apache.derby.jdbc.Driver40.getNewPooledConnection(Driver40.java:178)
at org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.createPooledConnection(EmbeddedConnectionPoolDataSource.java:129)
at org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource.getPooledConnection(EmbeddedConnectionPoolDataSource.java:75)
However, I am using EmbeddedConnectionPoolDataSource, so I am not the
one providing the URL. It seems like Derby is generating a URL which
it subsequently decides is invalid.
Q1. Shouldn't it be escaping it or something?
Q2. Is there some way to get around this?
TX