View Single Post

   
  #1 (permalink)  
Old 04-08-2008, 06:17 PM
John Smith
 
Posts: n/a
Default Out of Memory / There is already an object named "X" in the database.

Error message:

com.sybase.jdbc2.jdbc.SybBatchUpdateException: JZ0BE:
BatchUpdateException: Error occurred while executing batch statement:
Can't allocate space for object 'TMP_TABLE' in database 'tempdb'
because 'default' sment is full/has no free extents. If you ran out of
space in syslogs, dump the transaction log. Otherwise, use ALTER
DATABASE or sp_extendsegment to increase size of the segment.

at
com.sybase.jdbc2.jdbc.ErrorMessage.raiseBatchUpdat eException(ErrorMessage.java:698)
at
com.sybase.jdbc2.jdbc.SybStatement.batchLoop(SybSt atement.java:1330)
at
com.sybase.jdbc2.jdbc.SybStatement.sendBatch(SybSt atement.java:1139)
at
com.sybase.jdbc2.jdbc.SybStatement.executeBatch(Sy bStatement.java:1099)
at
com.sybase.jdbc2.jdbc.SybStatement.executeBatch(Sy bStatement.java:950)
at prc1.main(prc1.java:78)
com.sybase.jdbc2.jdbc.SybBatchUpdateException: JZ0BE:
BatchUpdateException: Error occurred while executing batch statement:
There is already an object named 'FIXING' in the database.

at
com.sybase.jdbc2.jdbc.ErrorMessage.raiseBatchUpdat eException(ErrorMessage.java:698)
at
com.sybase.jdbc2.jdbc.SybStatement.batchLoop(SybSt atement.java:1330)
at
com.sybase.jdbc2.jdbc.SybStatement.sendBatch(SybSt atement.java:1139)
at
com.sybase.jdbc2.jdbc.SybStatement.executeBatch(Sy bStatement.java:1099)
at
com.sybase.jdbc2.jdbc.SybStatement.executeBatch(Sy bStatement.java:950)
at prc1.main(prc1.java:93)


For the 1st error of can't allocate space for TMP_TABLE:

The following query SELECT INTO TMP_TABLE
String lsTempQuery4 =
"SELECT XY.M_I, XY.M_B, F.M_AC, F.M_AL, F.M_IL, F.M_FV,
F.DATE, " +
"CASE " +
"WHEN F.M_AC=1 THEN " +
"F.M_IL " +
"ELSE " +
"F.M_AL " +
"END AS COMPARE" +
"INTO tempdb..TMP_TABLE " +
"FROM tempdb..XY XY, tempdb..FIXING F ";

and is added to the batch for the 1st error message as follows:

loStatement.addBatch( lsTempQuery2 );
loStatement.addBatch( lsTempQuery3 );
loStatement.addBatch( lsTempQuery4 );
loStatement.executeBatch();
loStatement.clearBatch();


The 2nd error message:

Code:
Statement loStatement = null;
loStatement = loConnection.createStatement();
loStatement.addBatch( "DROP TABLE tempdb..XY" );
loStatement.addBatch( "DROP TABLE tempdb..FIXING" );
loStatement.addBatch( "DROP TABLE tempdb..TMP_TABLE" );
loStatement.executeBatch();
loStatement.clearBatch();


Since I am trying to DROP TABLE tempdb..FIXING, of course there is an
object named FIXING. :P

Any advice to resolve error 1 and/or error 2 is appreciated.

Reply With Quote