Leo, You need to use BIGINT rather than long for KEY_ID column.
Mamta On 2/9/07, Leo Alberto <[EMAIL PROTECTED]> wrote:
Hy I'm try to using Derby 10.2.2.0<http://db.apache.org/derby/releases/release-10.2.2.0.cgi> in embedded mode with the integrated plug-in environment in Eclipse 3.2.0. Environment jre 1.6.0 I would create a table with this code : *public* *boolean* tableCreation(Connection currentConn, String Table) *throws* DatabaseDriverException { *boolean* doCreateTable = *true*; Statement stmt = *null*; String createString = "create table " + Table + "(SAMPLE_ID int not null generate always as increment, " + "KEY_ID long, " + "KEY_INST_COUNT int, " + "DATAOBJ blob (102400), " + "unique(KEY_ID))"; *try* { currentConn.setAutoCommit(*false*); stmt = currentConn.createStatement(); DatabaseMetaData md = currentConn.getMetaData(); ResultSet rs = md.getTables(*null*, *null*, "%", *null *); *while* (rs.next()) { System.*out*.println("Elenco tabelle nel db " + rs.getString(3)); *if* (rs.getString(3).equals(tabella)) { doCreateTable = *false*; *break*; } } *if* (doCreateTable) { // execute stmt.execute(createString); // *I'm arriving here ang got the error* doCreateTable = *true*; } currentConn.commit(); stmt.close(); } *catch* (SQLException e) { *throw* *new* DatabaseDriverException("Error create table", e); } *return* doCreateTable; }/* End tableCreation */ the error is: Syntax error: Encountered "," at line 1, column 88. at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source) at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source) at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)Error create table at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at dds.dbdrivers.DerbyDriver.tableCreation(*DerbyDriver.java:257*) at provaDB.main(*provaDB.java:39*) Caused by: *java.sql.SQLException*: Syntax error: Encountered "," at line 1, column 88. at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source) at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source) ... 10 more from errorlog.txt generated: ---------------------------------------------------------------- 2007-02-09 17:31:01.452 GMT: Booting Derby version The Apache Software Foundation - Apache Derby - 10.2.2.0 - (485682): instance c013800d-0110-a78e-d8b1-ffffa2db3c51 on database directory C:\DdsAppDb\DbDOMAIN_(7) Database Class Loader started - derby.database.classpath='' 2007-02-09 17:31:10.786 GMT Thread[main,5,main] (XID = 122), (SESSIONID = 0), (DATABASE = DbDOMAIN_(7)), (DRDAID = null), Cleanup action starting 2007-02-09 17:31:10.786 GMT Thread[main,5,main] (XID = 122), (SESSIONID = 0), (DATABASE = DbDOMAIN_(7)), (DRDAID = null), Failed Statement is: <my add> 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 create table POSITION (SAMPLE_ID int not null generated always as identity, KEY_ID long, KEY_INST_COUNT int, DATAOBJ blob (102400), unique(KEY_ID)) ERROR 42X01: Syntax error: Encountered "," at line 1, column 88. at org.apache.derby.iapi.error.StandardException.newException(Unknown Source) at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source) at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source) at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at dds.dbdrivers.DerbyDriver.tableCreation(DerbyDriver.java:257) at provaDB.main(provaDB.java:39) Cleanup action completed I would be very glad if someone can help me understand wath is wrong! thanks in advance Alberto Leo
