Thomas
Thomas

Reputation: 51

HSQLDB connection error

I created a java program for connect the HSQLDB , the first one works well,

public final static String DRIVER = "org.hsqldb.jdbcDriver";
public final static String URL = "jdbc:hsqldb:file:F:/hsqlTest/data/db";
public final static String DBNAME = "SA";

but these are not

public final static String DRIVER = "org.hsqldb.jdbcDriver";
public final static String URL = "jdbc:hsqldb:file:C:/Program Files/tich Tools/mos tech/app/data/db/t1/t2/01/db";
public final static String DBNAME = "SA";

the error shows like this:

java.sql.SQLException: error in script file line: 1 unexpected token: ?
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
    at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at HSQLDBManagerImp.getconn(HSQLDBManagerImp.java:48)
    at TESTHSQLDB.main(TESTHSQLDB.java:15)
Caused by: org.hsqldb.HsqlException: error in script file line: 1 unexpected token: ?
    at org.hsqldb.error.Error.error(Unknown Source)
    at org.hsqldb.scriptio.ScriptReaderText.readDDL(Unknown Source)
    at org.hsqldb.scriptio.ScriptReaderBase.readAll(Unknown Source)
    at org.hsqldb.persist.Log.processScript(Unknown Source)
    at org.hsqldb.persist.Log.open(Unknown Source)
    at org.hsqldb.persist.Logger.openPersistence(Unknown Source)
    at org.hsqldb.Database.reopen(Unknown Source)
    at org.hsqldb.Database.open(Unknown Source)
    at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
    at org.hsqldb.DatabaseManager.newSession(Unknown Source)
    ... 7 more
Caused by: org.hsqldb.HsqlException: unexpected token: ?
    at org.hsqldb.error.Error.parseError(Unknown Source)
    at org.hsqldb.ParserBase.unexpectedToken(Unknown Source)
    at org.hsqldb.ParserCommand.compilePart(Unknown Source)
    at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
    at org.hsqldb.Session.compileStatement(Unknown Source)
    ... 16 more

I googled this connection question , but most of them not help much, someone says that may be the HSQLDB version problem. The dbase shut down in "SHUT COMPRESS" model. Anyone give some advice?

Upvotes: 0

Views: 3196

Answers (1)

Akash Thakare
Akash Thakare

Reputation: 22972

Because there are spaces in between URL in second Relative Path.

C:/Program Files/tich Tools/mos tech/app/data/db/t1/t2/01/db
          ^          ^         ^

Use Single Quotes ''.

Relative database file paths can be specified in a

platform independent manner as: '[dir1/dir2/.../dirn/]file-name-prefix'.

For more reference go to HSQLDB JDBC

Upvotes: 1

Related Questions