-243 Could not position within a table table-name.
Posted in 2005
Topics: General Discussion
hello friends This is the error message I got in my DATASTAGE log file. my job is running so many times fine and many times it is dispalying above warning message. so can u please give me any solution to resolve this issue Thanks Deepak Singhal
deepak.singhal007@gmail.com wrote: > hello friends > This is the error message I got in my DATASTAGE log file. > my job is running so many times fine and many times it is dispalying > above warning message. > so can u please give me any solution to resolve this issue > Thanks > Deepak Singhal > You need to check the ISAM error... Informix allways returns two errors... the more generic (in yur case the -243) and the more specific/detailed, the ISAM error. It's not always easy to find this error because some applications hide it... But check the logs... Nevertheless this error is usualy related to locking issues... Being Datastage, I imagine it's possibly doing a full table scan in the default isolation level for logging databases (commited read). If this full scan hits tries to acess a row locked by other process it will give this error. This can also happen with index searches but in that case it harder to happen (because the two processes must be trying to access the same data). The way to solve it is simple in SQL terms, but it may be trickier in DS: You'll have to either change your isolation level to dirty read (SET ISOLATION LEVEL TO DIRTY READ) which will allow your DS session to read uncommited data, or change your lock mode to wait (or wait X) (SET LOCK MODE TO WAIT [x], "[x]" being an optional number of seconds to wait for lock release. The real issue will be how to change this from DS. I've had only ocasional encounters with this product, so I really can't help... But maybe in the stage definition you'll find options to do it. Regards.
deepak.singhal007@gmail.com wrote: > hello friends > This is the error message I got in my DATASTAGE log file. > my job is running so many times fine and many times it is dispalying > above warning message. > so can u please give me any solution to resolve this issue > Thanks > Deepak Singhal > You need to check the ISAM error... Informix allways returns two errors... the more generic (in yur case the -243) and the more specific/detailed, the ISAM error. It's not always easy to find this error because some applications hide it... But check the logs... Nevertheless this error is usualy related to locking issues... Being Datastage, I imagine it's possibly doing a full table scan in the default isolation level for logging databases (commited read). If this full scan hits tries to acess a row locked by other process it will give this error. This can also happen with index searches but in that case it harder to happen (because the two processes must be trying to access the same data). The way to solve it is simple in SQL terms, but it may be trickier in DS: You'll have to either change your isolation level to dirty read (SET ISOLATION LEVEL TO DIRTY READ) which will allow your DS session to read uncommited data, or change your lock mode to wait (or wait X) (SET LOCK MODE TO WAIT [x], "[x]" being an optional number of seconds to wait for lock release. The real issue will be how to change this from DS. I've had only ocasional encounters with this product, so I really can't help... But maybe in the stage definition you'll find options to do it. Regards.
On 20 Sep 2005 10:17:25 -0700, deepak.singhal007@gmail.com wrote: >hello friends >This is the error message I got in my DATASTAGE log file. >my job is running so many times fine and many times it is dispalying >above warning message. >so can u please give me any solution to resolve this issue >Thanks >Deepak Singhal Could be that the associated table is locked. Is that an ISAM error that is listed as well? If the issue is a locked table, then is there any way to include a "set lock mode to wait 30" with the associated SQL? Just a few ideas, as I'm familiar with DataStage. JWC