Results 1 to 8 of 8
Thread: HSQLDB problem
- 12-22-2010, 02:19 PM #1
HSQLDB problem
okay firstly, i was following one tutorial to create db.
https://docs.google.com/viewer?url=h..._ch_hsqldb.pdf
so i finished this and i have a database
okay now i wanna run it from java program
1) first i put the hsqldb.jar to my lib folder like this

2) then i made a xml/ant file following a tutorial
Using Hsqldb with your java development - Gridshore software engineering weblog
this is what i have:
3) now when i run my db form the left..Java Code:<?xml version="1.0" encoding="UTF-8"?> <project basedir="." name="poker"> <!-- skripti muutujad !--> <property file="build.properties"/> <property name="build.dir" value="${basedir}/build"/> <property name="src.dir" value="${basedir}/src" /> <property name="lib.dir" value="${basedir}/lib"/> <!-- db muutujad !--> <property name="path.to.db" value="${basedir}/db"/> <property name="db.name" value="db"/> <property name="user.id" value="sa"/> <property name="user.pwd" value=""/> <property name="db.file" value="${path.to.db}/${db.name}"/> <!-- script algab siin !--> <target name="startdb"> <echo message="Starting HSQLDB"/> <java fork="true" dir="." classname="org.hsqldb.Server"> <classpath> <pathelement path="${lib.dir}/hsqldb.jar"/> </classpath> <arg value="-database.0"/> <arg value="${path.to.db}/${db.name}"/> <arg value="-dbname.0"/> <arg value="${db.name}"/> </java> </target> <target name="setup_db"> <sql driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/${db.name}" userid="${user.id}" password="${user.pwd}" src="setup.sql" print="yes"> <classpath> <pathelement location="${lib.dir}/hsqldb.jar"/> </classpath> </sql> </target> <target name="dbmanager"> <echo message="Starting HSQLDB swing client"/> <java fork="true" dir="." classname="org.hsqldb.util.DatabaseManagerSwing"> <classpath> <pathelement path="${lib.dir}/hsqldb.jar"/> </classpath> </java> </target> </project>

4) then first this pops out....

5)but i want it to connect by itself to my db, not that i have to choose everything, like this:

5) anyways the db works :

6)and then i read a new tutorial..actually hsql documentation that i tried to use, but its not workin:

so my db like works, but how i connect it with my java..so i can like do:
create table or such commands
- 12-22-2010, 02:24 PM #2
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
You need to ensure that jar file is included when you run the code.
Somewhere in Eclipse (for the project) you should be able to tell it what libraries are required. You don't need ant or anything for that.
- 12-22-2010, 02:55 PM #3
1) okay i added the jar file to path

2) i ran this and nothing happened :

3) so i added this line, and i got this error. it seems like database isn't running.

WHOLE LOG:
4) so i thought, okay..ill run the db then..so i ran the db from ant..db as database manager which also runs database.Java Code:Exception in thread "main" java.sql.SQLException: user lacks privilege or object not found: ITEMS at org.hsqldb.jdbc.Util.sqlException(Util.java:215) at org.hsqldb.jdbc.JDBCStatement.fetchResult(JDBCStatement.java:1826) at org.hsqldb.jdbc.JDBCStatement.executeQuery(JDBCStatement.java:181) at Run.main(Run.java:16) Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: ITEMS at org.hsqldb.error.Error.error(Error.java:77) at org.hsqldb.SchemaManager.getTable(SchemaManager.java:685) at org.hsqldb.ParserDQL.readTableName(ParserDQL.java:5257) at org.hsqldb.ParserDQL.readTableOrSubquery(ParserDQL.java:1662) at org.hsqldb.ParserDQL.XreadTableReference(ParserDQL.java:1066) at org.hsqldb.ParserDQL.XreadFromClause(ParserDQL.java:1053) at org.hsqldb.ParserDQL.XreadTableExpression(ParserDQL.java:988) at org.hsqldb.ParserDQL.XreadQuerySpecification(ParserDQL.java:982) at org.hsqldb.ParserDQL.XreadSimpleTable(ParserDQL.java:966) at org.hsqldb.ParserDQL.XreadQueryPrimary(ParserDQL.java:895) at org.hsqldb.ParserDQL.XreadQueryTerm(ParserDQL.java:861) at org.hsqldb.ParserDQL.XreadQueryExpressionBody(ParserDQL.java:840) at org.hsqldb.ParserDQL.XreadQueryExpression(ParserDQL.java:814) at org.hsqldb.ParserDQL.compileCursorSpecification(ParserDQL.java:5409) at org.hsqldb.ParserCommand.compilePart(ParserCommand.java:133) at org.hsqldb.ParserCommand.compileStatements(ParserCommand.java:88) at org.hsqldb.Session.executeDirectStatement(Session.java:1170) at org.hsqldb.Session.execute(Session.java:972) at org.hsqldb.jdbc.JDBCStatement.fetchResult(JDBCStatement.java:1818) ... 2 more

5) and then again, i ran my main classs:

WHOLE LOG:
so..i got this error..i googeled it and searched everywhere..didn't get any help..anyone?Java Code:Exception in thread "main" java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@a4d71f6d[file =C:\Users\Jansu\workspace\poker\db\db.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-12-22 14:57:53 heartbeat - read: -2700 ms. at org.hsqldb.jdbc.Util.sqlException(Util.java:380) at org.hsqldb.jdbc.Util.sqlException(Util.java:103) at org.hsqldb.jdbc.JDBCConnection.<init>(JDBCConnection.java:3303) at org.hsqldb.jdbc.JDBCDriver.getConnection(JDBCDriver.java:321) at org.hsqldb.jdbc.JDBCDriver.connect(JDBCDriver.java:259) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at Run.main(Run.java:14) Caused by: org.hsqldb.HsqlException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@a4d71f6d[file =C:\Users\Jansu\workspace\poker\db\db.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-12-22 14:57:53 heartbeat - read: -2700 ms. at org.hsqldb.error.Error.error(Error.java:77) at org.hsqldb.persist.LockFile.newLockFileLock(LockFile.java:642) at org.hsqldb.persist.Logger.acquireLock(Logger.java:1076) at org.hsqldb.persist.Logger.openPersistence(Logger.java:284) at org.hsqldb.Database.reopen(Database.java:220) at org.hsqldb.Database.open(Database.java:186) at org.hsqldb.DatabaseManager.getDatabase(DatabaseManager.java:240) at org.hsqldb.DatabaseManager.newSession(DatabaseManager.java:157) at org.hsqldb.jdbc.JDBCConnection.<init>(JDBCConnection.java:3281) ... 5 more
- 12-22-2010, 03:15 PM #4
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
You can only have one person accessing the db I think.
I'm not so big on HSQL so I can't confirm it, but the same thing happens with Embedded Derby.
So, going back to the first error (the items table not found), does that table actually exist?
- 12-22-2010, 03:16 PM #5
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
Oh, and the db is loading up otherwise you'd get an error on making the connection.
- 12-22-2010, 03:47 PM #6
yes you are right, HSQL only allows one connection..or atleast what i've figured out that when im using the HSQL standalone engine, which i am, it doesn't allow more connections than one.
and about the query...i think i made a type, as you can see from top, i have table ITEM not ITEMS.
- 12-22-2010, 03:48 PM #7
Moderator
- Join Date
- Apr 2009
- Posts
- 10,438
- Rep Power
- 16
Yep, the standalone sounds like the embedded one then.
Does it work now you've corrected the typo?
- 12-22-2010, 03:50 PM #8
Similar Threads
-
Hsqldb
By Abder-Rahman in forum JDBCReplies: 1Last Post: 10-20-2009, 11:11 AM -
Hsqldb
By Abder-Rahman in forum JDBCReplies: 1Last Post: 10-20-2009, 11:10 AM -
can't load the driver (hsqldb)
By tomiu in forum JDBCReplies: 7Last Post: 06-09-2009, 11:23 PM -
Configure HSQLDB in RedHatEnterpriseLinux 4
By vrk in forum JDBCReplies: 0Last Post: 02-13-2009, 06:44 AM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks