Hello Praveen, it seems that you mixed up your code, or missed a statement. You create the table with the shorter name: [EMAIL PROTECTED] (create table person_rolle_zuordnung_versionen (pn_rolle_zuordng_vn_id FIXED(19,0) not null, aenderer FIXED(19,0) not null, aenderungszeitpunkt TIMESTAMP not null, version_nummer INT not null, aenderungsaktion CHAR(1) not null, personalnummer FIXED(19,0) null, primary key (pn_rolle_zuordng_vn_id))) => 0
but access it the on the insert operation with a statement that seems to be the 'old' (i.e. long) name of that column. [EMAIL PROTECTED] (insert into person_rolle_zuordnung_versionen (aenderer, aenderungszeitpunkt, version_nummer, aenderungsaktion, personalnummer, person_rolle_zuordnung_versionen_id) values (?, ?, ?, ?, ?, ?)) <-! Timestamp: 2005-07-27 09:36:49.906 com.sap.dbtech.jdbc.exceptions.DatabaseException: [-2014] (at 128): Identifier too long The identifier person_rolle_zuordnung_versionen_id is apparantly too long, so please look into your application what went wrong here. (BTW, the position 128 is correctly pointing to the beginning of the offending, and too long column in this SQL statement). Regards Alexander Schröder SAP DB, SAP Labs Berlin ________________________________ From: praveen jothi [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 27, 2005 9:51 AM To: Schroeder, Alexander Subject: Re: porting an application from MySql to MaxDB Dear Mr.Schröder and colleagues, I am attaching the jdbc trace. I see the statement at the end which I think is causing the problem, but I dont understand when it is 32 characters long, which is the maximum, why it still says "identifier too long". The point here is, I also renamed that identifier for a much smaller version, but still I get the same error. Please give me your suggestions. Thank you very much. Regards, Praveenjothi On 7/27/05, Schroeder, Alexander <[EMAIL PROTECTED]> wrote: Hello Praveen, could you run the application with JDBC trace enabled, and send the trace? See http://sapdb.2scale.net/moin.cgi/JdbcTrace on how to create one. So, the offending SQL statement can probably be seen in the trace. Regards Alexander Schröder SAP DB, SAP Labs Berlin > -----Original Message----- > From: praveen jothi [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 27, 2005 7:16 AM > To: maxdb@lists.mysql.com > Subject: porting an application from MySql to MaxDB > > Dear all, > > I am a beginner. My work involves porting an Application from > Mysql to > Maxdb. I use Hibernate and everything was working fine with > MySql. When I > tried to setup the same application with MaxDB, initially it > showed errors > that the table name's used are long. I learnt that the > characters should be > maximum 32. So,I changed all the table names and columns in > the hibernate > mapping files and ensured that they are within 32 characters. > After changing > this, all my tables and columns were created. > > Now, when I run a class which basically inserts the default > values in the > columns in each table, I again get "identifier too long" > exception. I could > not understand why even after the tables and columns are > properly created I > am getting this error. Should I also change the name of the > mapped classes > if they are more than 32 characters long, kindly give me suggestions. > > I have copied the error from the console and are as follows > __________________________________________________________________ > > ul 26, 2005 1:33:12 PM > net.sf.hibernate.util.JDBCExceptionReporterlogExceptions > WARNING: SQL Error: -2014, SQLState: 42000 > Jul 26, 2005 1:33:12 PM > net.sf.hibernate.util.JDBCExceptionReporterlogExceptions > SEVERE: [-2014] (at 128): Identifier too long > Jul 26, 2005 1:33:12 PM > net.sf.hibernate.util.JDBCExceptionReporterlogExceptions > WARNING: SQL Error: -2014, SQLState: 42000 > Jul 26, 2005 1:33:12 PM > net.sf.hibernate.util.JDBCExceptionReporterlogExceptions > SEVERE: [-2014] (at 128): Identifier too long > Jul 26, 2005 1:33:12 PM net.sf.hibernate.JDBCException <init> > SEVERE: could not insert: [ > com.ste.rolo.persistence.PPersonRolleZuordnungVersionen#15] > com.sap.dbtech.jdbc.exceptions.DatabaseException: [-2014] (at 128): > Identifier too long > at > com.sap.dbtech.jdbc.packet.ReplyPacket.createException (ReplyPa > cket.java:72) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.throwSQLError(ConnectionSa > pDB.java:910) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java :569) > at com.sap.dbtech.jdbc.CallableStatementSapDB.sendCommand( > CallableStatementSapDB.java:1736) > at > com.sap.dbtech.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:778) > at com.sap.dbtech.jdbc.CallableStatementSapDB.doParse ( > CallableStatementSapDB.java:235) > at com.sap.dbtech.jdbc.CallableStatementSapDB.constructor( > CallableStatementSapDB.java:186) > at com.sap.dbtech.jdbc.CallableStatementSapDB.<init>( > CallableStatementSapDB.java:88) > at > com.sap.dbtech.jdbc.ConnectionSapDB.prepareStatement(Connectio > nSapDB.java:802) > > at > net.sf.hibernate.impl.BatcherImpl.getPreparedStatement (Batcher > Impl.java:249) > > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:61) > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:56) > at > net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(Batche > rImpl.java:109) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:460) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:442) > > at > net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInse > rtion.java:29) > > at > net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2382) > at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2335) > at > net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired (SessionI > mpl.java:1775) > > at > net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1536) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1501) > at net.sf.hibernate.impl.SessionImpl.find (SessionImpl.java:1491) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1483) > at > com.ste.rolo.realworldobjects.PersonRolleZuordnung.erzeugeNeue > PersonRolleZuordnung > (PersonRolleZuordnung.java :144) > at > com.ste.rolo.test.SimpleTest.testRealPersonRolle(SimpleTest.ja > va:1024) > at com.ste.rolo.test.SimpleTest.main(SimpleTest.java:147) > Jul 26, 2005 1:33:12 PM net.sf.hibernate.impl.SessionImpl execute > SEVERE: Could not synchronize database state with session > net.sf.hibernate.JDBCException: could not insert: [ > com.ste.rolo.persistence.PPersonRolleZuordnungVersionen#15] > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:478) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:442) > > at > net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInse > rtion.java:29) > > at > net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2382) > at net.sf.hibernate.impl.SessionImpl.execute (SessionImpl.java:2335) > at > net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionI > mpl.java:1775) > > at > net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1536) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1501) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1491) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1483) > at > com.ste.rolo.realworldobjects.PersonRolleZuordnung.erzeugeNeue > PersonRolleZuordnung > (PersonRolleZuordnung.java:144) > at > com.ste.rolo.test.SimpleTest.testRealPersonRolle(SimpleTest.ja > va:1024) > at com.ste.rolo.test.SimpleTest.main(SimpleTest.java:147) > Caused by: com.sap.dbtech.jdbc.exceptions.DatabaseException: > [-2014] (at > 128): Identifier too long > at > com.sap.dbtech.jdbc.packet.ReplyPacket.createException(ReplyPa > cket.java:72) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.throwSQLError(ConnectionSa > pDB.java:910) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:569) > at com.sap.dbtech.jdbc.CallableStatementSapDB.sendCommand( > CallableStatementSapDB.java:1736) > at > com.sap.dbtech.jdbc.StatementSapDB.sendSQL (StatementSapDB.java:778) > at com.sap.dbtech.jdbc.CallableStatementSapDB.doParse( > CallableStatementSapDB.java:235) > at com.sap.dbtech.jdbc.CallableStatementSapDB.constructor( > CallableStatementSapDB.java :186) > at com.sap.dbtech.jdbc.CallableStatementSapDB.<init>( > CallableStatementSapDB.java:88) > at > com.sap.dbtech.jdbc.ConnectionSapDB.prepareStatement(Connectio > nSapDB.java:802) > > at > net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(Batcher > Impl.java:249) > > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:61) > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:56) > at > net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(Batche > rImpl.java:109) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:460) > > ... 12 more > net.sf.hibernate.JDBCException: could not insert: [ > com.ste.rolo.persistence.PPersonRolleZuordnungVersionen#15 ] > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:478) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:442) > > at > net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInse > rtion.java:29) > > at > net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2382) > at net.sf.hibernate.impl.SessionImpl.execute (SessionImpl.java:2335) > at > net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionI > mpl.java:1775) > > at > net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1536) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1501) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1491) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1483) > at > com.ste.rolo.realworldobjects.PersonRolleZuordnung.erzeugeNeue > PersonRolleZuordnung > (PersonRolleZuordnung.java:144) > at > com.ste.rolo.test.SimpleTest.testRealPersonRolle(SimpleTest.ja > va:1024) > at com.ste.rolo.test.SimpleTest.main(SimpleTest.java:147) > Caused by: com.sap.dbtech.jdbc.exceptions.DatabaseException: > [-2014] (at > 128): Identifier too long > at > com.sap.dbtech.jdbc.packet.ReplyPacket.createException(ReplyPa > cket.java:72) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.throwSQLError(ConnectionSa > pDB.java:910) > > at > com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:569) > at com.sap.dbtech.jdbc.CallableStatementSapDB.sendCommand( > CallableStatementSapDB.java:1736) > at > com.sap.dbtech.jdbc.StatementSapDB.sendSQL (StatementSapDB.java:778) > at com.sap.dbtech.jdbc.CallableStatementSapDB.doParse( > CallableStatementSapDB.java:235) > at com.sap.dbtech.jdbc.CallableStatementSapDB.constructor( > CallableStatementSapDB.java :186) > at com.sap.dbtech.jdbc.CallableStatementSapDB.<init>( > CallableStatementSapDB.java:88) > at > com.sap.dbtech.jdbc.ConnectionSapDB.prepareStatement(Connectio > nSapDB.java:802) > > at > net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(Batcher > Impl.java:249) > > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:61) > at > net.sf.hibernate.impl.BatcherImpl.prepareStatement(BatcherImpl > .java:56) > at > net.sf.hibernate.impl.BatcherImpl.prepareBatchStatement(Batche > rImpl.java:109) > > at > net.sf.hibernate.persister.EntityPersister.insert(EntityPersis > ter.java:460) > > ... 12 more > > ______________________________________________________________ > __________ > > Thank you very much in advance. > > Regards, > Praveenjothi >