ODBC error
Posted in 2000
Topics: Connectivity: ODBC / JDBC / .NET, Server Administration
To all.... I am the DBA for an IFX backbone (7.3 online) to an E-commerce site, using mostly ASP pages thru ODBC 3.31. Each web visitor hits the table 'tbluser'......we, at times, get this error message: "Microsoft OLE DB Provider for ODBC Drivers error '8004005' [Informix][Informix ODBC Driver][Informix]Could not position within a table (Informix.tbluser). It has been suggested that it may have to do with contention, but we have row level locking, not page level. Does anyone have a clue, as to what this means ? I appreciate any and all suggestions, thank you for your time. Mike
There should be an ISAM error code which accompanies that error message which would give a reason as to why Informix "Could not position within a table". The most common cause is indeed lock contention. Just because you are using row level locking and each user only accesses their own rows does not mean you can rule out a locking problem. Is there an index on the table which is being used in the where clause of any select/update/delete statements? This index should be on a column or columns that make the row(s) unique to the user/session. If not, you may be forcing the database to read through rows which are not actually being selected/udpated/deleted to get to the ones it really needs. If these other rows are locked by another session ... error! If your transactions are very brief, you might be able to solve this with a "set lock mode to wait 10" (or some other number of seconds). This will cause the database to wait at least 10 (or other as specified) seconds before giving up on a locked row and returning the error. HTH, -- Irwin Goldstein Objective Software Systems, Inc. http://www.objectsoft.com In article <8m41ri$77c$1@news.xmission.com>, "Michael Devine" <miked@abwf.com> wrote: > > To all.... > I am the DBA for an IFX backbone (7.3 online) to an E-commerce site, using > mostly ASP pages thru ODBC 3.31. > Each web visitor hits the table 'tbluser'......we, at times, get this error > message: > "Microsoft OLE DB Provider for ODBC Drivers error '8004005' > [Informix][Informix ODBC Driver][Informix]Could not position within a table > (Informix.tbluser). > > It has been suggested that it may have to do with contention, but we have > row level locking, not page level. Does anyone have a clue, as to what this > means ? > > I appreciate any and all suggestions, thank you for your time. > > Mike > > Sent via Deja.com http://www.deja.com/ Before you buy.