I discovered why the 62 error code was occurring.
I was doing a DBLOCK mode5 inside the loop. Not good, luckily I
didn't get a system deadlock. That didn't happen because the item
being locked had a different value with each record being read from
BASE-1. So, if Base-1 had 1,000 entries I was doing 1,000 DBLOCK
mode5. Ouch, not good.
I took the DBLOCK mode5 out of the loop and placed it with the
DBLOCK mode3 on BASE-1. Not exactly how I wanted to do it but
it works. No more 62 error code.....
Thanks to everyone who responded.
Brian.
On Sun, 22 Jun 2008 22:50:04 -0400, Brian Donaldson <[log in to unmask]> wrote:
>My app DBOPEN's two databases, lets call them BASE-1 and BASE-2
>
>The logic goes like this --
>
>DBOPEN base-1
>DBOPEN base-2
>
>A single DBXBEGIN across BASE-1 and BASE-2
>
>BASE-1 is DBLOCKed @ mode3 level
>BASE-2 is DBLOCKED @ mode5 level
>
>Loop here for as many entries in dataset of BASE-1
>
>BASE-1 dataset is DBUPDATEd
>BASE-2 dataset is DBPUT
>
>end of loop
>
>DBXEND across both bases
>DBUNLOCK BASE-1
>DBUNLOCK BASE-2
>DBCLOSE BASE-1
>DBCLOSE BASE-2
>
>Works great when processing just a few hundred entries, but when trying to
>do a mass update (processing a number of entries whose entry count > 2600)
>then the DBLOCK mode5 on BASE-2 fails with a 62 error code (DBG Full)
>
>Anyone have an idea how to get around this problem?
>
>
>TIA as always,
>Brian.
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|