Microsoft KB Archive/249167

From BetaArchive Wiki
Knowledge Base

Article ID: 249167

Article Last Modified on 11/24/2004


  • Microsoft OLE DB Provider for AS/400 and VSAM 4.0 SP2
  • Microsoft OLE DB Provider for AS/400 and VSAM 4.0 SP3

This article was previously published under Q249167


The Microsoft OLEDB Provider for AS/400 and VSAM (SNAOLEDB) does not support pessimistic locking.

In the Microsoft SNA SDK documentation under the "ADO Recordset Object in the OLE DB Provider for AS/400 and VSAM" topic, it is mentioned under LockType that SNAOLEDB supports all four lock types. Namely adLockReadOnly, adLockOptimistic, adLockPessimistic, and adLockBatchOptimistic. The preceding statement is not true and SNAOLEDB does not currently support adLockPessimistic from an ADO recordset object.

The ADO Client side cursor does not support "pessimistic" locking. ADO server side cursor support "pessimistic" locking if the corresponding provider supports this property. SNAOLEDB does not support "pessimistic" locking. If an unsupported value is set, then no error occurs and the closest supported LockType is used instead. If from an ADO program you set the LockType property to adLockPessimistic, when you open an updateable recordset with server side cursor it automatically maps to either adLockOptimistic or adLockBatchOptimistic.


Microsoft has confirmed this to be a problem in the Microsoft SNA Server version 4.0 Service Pack 2 (SP2) and Service Pack 3 (SP3) SDK documentation.


The OLEDB Provider for AS/400 and VSAM (SNAOLEDB) comes with SNA Server/Client version 4.0 SP2 or SP3. It uses the DDM RLIO protocol to provide OLEDB consumers with access to VSAM and AS/400 record-level data. This provider complies with Level 4 of the IBM Distributed Data Management (DDM) architecture and the OLE DB architecture. It uses SNA Server, the reliable platform for host integration as the networking bridge between the SNA host and the Windows NT operating systems.

The Microsoft OLE DB Provider for AS/400 and VSAM supports the following features:

  • Set attributes and a record description of a host file (column information).
  • Position to the beginning record or the ending record in a file.
  • Navigate to the previous or next record in a file.
  • Seek to a record based on an index.
  • Lock records.
  • Change records in a file.
  • Insert new records and delete records in a file.
  • Preserve file and record attributes.

SNAOLEDB does not support "pessimistic" locking.


For more information, please refer to the following article in the Microsoft Knowledge Base:

190625 FIX: ADO Client Cursors Report LockType = adLockPessimistic

SNA SDK Documentation

Keywords: kbbug kbpending KB249167