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


Reply via email to