MIDRANGE dot COM Mailing List Archive



Home » JAVA400-L » August 2005

DB2 File in use error



fixed

Hi,

I have the following procedure in a DB2 (AS/400 V5R1):

----------------
BEGIN 
DECLARE current_id BIGINT DEFAULT -1;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SELECT id INTO current_id
FROM libtest.idtable
WHERE tbname = table_name;
UPDATE libtest.idtable
SET id = current_id + 1
WHERE tbname = table_name;
COMMIT WORK;
SET next_id = current_id + 1;
END 
-------------------

This procedure just return the next id (bigint) according to the table_name 
received as parameter.
Then, I developed a simple multi-threaded java application to test this 
procedure and sometimes I receive the following error:

java.sql.SQLException: [SQL0913] Row or object IDTABLE in LIBTEST type *FILE 
in use.
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:388)
at com.ibm.as400.access.AS400JDBCStatement.commonExecute(
AS400JDBCStatement.java:640)
at com.ibm.as400.access.AS400JDBCPreparedStatement.execute(
AS400JDBCPreparedStatement.java:692)

I have already tried changing the isolation level of the transaction but it 
didn't work correctly.
Any help?

Regards





Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot COM and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available here. If you have questions about this, please contact