How to fix informix error -244 while updating row

Well i have one procedure that updates a row in a table. This procedure is executed arround 200 times every day. Well in 5-6 times it gives exception -244. I think that someone has the row opened with a select and the sp cant update that row. What i've tried is setting isolation to Dirty Read but it doesnt help... Anyone have any idea how to solve this

Here is explanation what this error code means

-244 Could not do a physical-order read to fetch next row.

The database server cannot read the disk page that contains a row of a table. Check the accompanying ISAM error code for more information. A hardware problem might exist, or the table or index might have been corrupted. If the query was using the dirty read isolation level, this error code may be normal behavior caused by reading data that was in a temporarily inconsistent state from a concurrent update on the same data.

Unless the ISAM error code or an operating-system message points to another cause, run the oncheck utility (secheck with IBM Informix SE or tbcheck with IBM Informix OnLine) to check and repair table and index.

1

1 Answer

if is a simple lock error like a 113 'file is locked' (check the ISAM error), you could try increasing the time the SPL waits for getting a lock on the table.

Something like 'set lock mode to wait 10' before it does the update may work.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like