just learned some painful lessons while using instantdb+dods that i thought
i'd share:
1. don't specify "User" as a table name nor "user" as an
attribute/fieldname in DODS
-these are reserved words in instantdb
2. don't use "." in your table name (e.g. myProject.myTable) in
DODS (see the table tab of your data object)
-when i did this, i got the following error when i tried
executing the create_table.sql file using ScriptTool
Don't understand SQL after: "create"
Expected: "ON" found: "."
at
org.enhydra.instantdb.db.SQLProg.execute(SQLProg.java:219)
at
org.enhydra.instantdb.jdbc.idbStatement.execute(idbStatement.java:235)
at
org.enhydra.instantdb.jdbc.idbStatement.executeUpdate(idbStatement.java:103)
at org.enhydra.instantdb.SampleThread.run(ScriptTool.
java:474)
at java.lang.Thread.run(Thread.java:484)
3. don't specify extra carriage returns in between the beginning
and end of a create table sql statement
in your .sql files. for example:
1 e create table Store
2 (
3 storeName VARCHAR(32) DEFAULT "" NOT NULL ,
4 distributor DECIMAL(19,0) NOT NULL REFERENCES
Distributor ( oid ) ,
5
6
7 dateCreated DATE NOT NULL ,
8 dateModified DATE NOT NULL ,
9
10
11 oid DECIMAL(19,0) NOT NULL PRIMARY KEY,
12 version INTEGER NOT NULL
13 );
make sure to remove the carriage returns on lines 5,6,9,10.
for some reason, when i had blank lines in between (which we
auto-generated by DODS), instantdb gave me
the following error:
java.lang.StringIndexOutOfBoundsException: String index out of
range: 0
at java.lang.String.charAt(String.java:507)
at
org.enhydra.instantdb.SampleThread.getSQL(ScriptTool.java:189)
at
org.enhydra.instantdb.SampleThread.run(ScriptTool.java:265)
at java.lang.Thread.run(Thread.java:484)
it would be great if this could be added to the "getting started w/ enhydra"
guide, dods documentation, and/or the instantdb documentation in a section
called "before you start" or "things to be careful" of. atleast until the
code is corrected.
thanks.
-----------------------------------------------------------------------------
To unsubscribe from this mailing list, send email to majordomo@enhydra.org
with the text "unsubscribe instantdb" in the body of the email.
If you have other questions regarding this mailing list, send email to
the list admin at owner-instantdb@enhydra.org.
|