This is is a problem with a lot of ODBC applications because the
locking mechanisms are different between the two.
I would definately suggest that the isolation level in the
ODBC DSN be changed from RR to RU. I consider RR to be equal
to an exclusive lock at the dataset or data item level - no
one will get to this data if RR has it locked up.
Give RU a try and see how it goes. You should definately see
better concurrency.
Joe
> -----Original Message-----
> From: Vikram Kumar [mailto:[log in to unmask]]
> Sent: Thursday, November 12, 1998 5:11 AM
> To: [log in to unmask]
> Subject: Re: Image Locking under 5.5 PP 5
>
>
> Hello Wayne,
>
> Now I have the full picture.
> 1. HP3000 application locks a few records
> 2. PC ODBC application requests for a record which is already
> locked by
> HP3000 application.
> 3. Since the isolation level set by PC ODBC application is
> RR, naturally it
> has to wait for the record to be released by the 3000 application.
> 4. Now if the locks are monitored using SHOW LOCKS command
> from DBUTIL, it
> displays an inappropriate message indicating a DATA SET LEVEL
> LOCK is going
> to be put. This is due to the fact that the row level lock
> enhancement was
> an IMAGE/SQL only solution (which was released through
> B.G2.07 version) and
> only one item can be locked at a time in IMAGE. The PC-ODBC
> application may
> be requesting a row lock, by specifying another item, than
> the one used by
> HP3000 application to put the row level lock.
>
> The scenario may be like this:
>
> - HP3000 application uses ORDER-NUM as the item to put the lock
> - PC-ODBC application uses an item other than ORDER-NUM to
> put the row lock
>
> In this situation, as only one item can be specified in the
> lock, IMAGE
> decides that another entry can't be used to put row locks,
> and tentatively
> decides to put a set level lock. However, when HP3000
> application releases
> the lock, IMAGE sees that, there is no locks held on the set,
> and change
> the tentative decision of set level lock, and goes ahead by
> putting a row
> level lock on the new item specified.
>
> I request you to verify this, by releasing the locks held by HP3000
> application.
>
> Also, another option is to set the isolation level to RU,
in the ODBC
> settings, as suggested by Joe.
>
> Hope this helps. Please let me know of any concerns or feedback.
>
> Regards,
> Vikram
|