SQLCODE -346, ISAM error -111
Posted in 1997
Topics: Stored Procedures & SPL, Error Codes & Troubleshooting, Connectivity: ESQL/C, 4GL & Embedded SQL, Platform-Specific Issues
Hi, our customer receives following error codes: -346 Could not update a row in the table. While processing an UPDATE, the database server received an unexpected error. Check the accompanying ISAM error code for more detailed information on the cause. Possible causes include hardware errors and locking conflicts. -111 ISAM error: no record found. The ISAM processor cannot locate the requested record. C-ISAM programs: Depending on the retrieval mode in use, there is no record with the requested index value or record number. Make sure the correct index is in use. SQL products: See the SQL error message or return code. Probably, no row was found for this query. The tester is able to reproduce it constantly on two different database instances with HP-UX 10.01/Informix Online 7.13.UC1XJ. I am not able to reproduce the error (so for tried it with HP-UX 9.04/Informix Online 7.10.UC2 and HP-UX 10.10/Informix Online 7.13.UC1XJ). The SQL statements (both ESQL/C and stored procedure) causing the error update a single row in a fairly large table (more than a million records) using a unique-indexed column in the WHERE clause. Updated columns include (non unique) indexed columns of the table. The statements in question have already been executed successfully two times (in different database sessions/transactions) before causing trouble. The tester says that there are no other processes running on the database. So I did not try to handle it as a lock conflict: ROLLBACK WORK and try again, yet. What kind of hardware errors to look for? Oncheck reports no errors, Informix log files too. The SQLCODE message referencing the ISAM error message and vice versa does not help much! I would appreciate it if someone could point me in the right direction. TIA Matthias Kalwa