I'm trying to handle sybase and SQL Server identity columns by allowing OJB to control the sequence number generation through the SequenceManagerHighLowImpl.
However, to do this I need to issue a "set identity_insert tablename on" before the actual insert statement is executed? I did this in the afterInsert method of my BrokerAware persistence object as follows: Connection conn = getConnection(); stmt = conn.createStatement(); stmt.execute("set identity_insert mcsp_test on"); stmt.close(); Although the set statment was executed successfully, when the persistence broker issued the insert command, it still failed. afterInsert 1057255340516|0|1|statement||set identity_insert mcsp_test on 1057255340516|0|0|batch|INSERT INTO mcsp_test (id,col1) VALUES (?,?) |INSERT INTO mcsp_test (id,col1) VALUES ('97','a13') 1057255340531|15|0|statement|INSERT INTO mcsp_test (id,col1) VALUES (?,?) |INSERT INTO mcsp_test (id,col1) VALUES ('97','a13') [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR: Commit on underlying connection failed, try to rollback JZ0BE: BatchUpdateException: Error occurred while executing batch statement: Explicit value specified for identity field in table 'mcsp_test' when IDENTITY_INSERT is set to OFF. I'm not sure why. Perhaps it was issued on another connection in my pool but this still fails even for a singleton connection. Is there a way I can override how the persistence broker is implementing the insert statement? Or is there a way I can customize the insert statement to issue a "set command"? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]