Sperrt WinXP SP2 Datensätze über ODBC?

Beim Öffnen von Datensätzen auf einer iSeries per ODBC von einem PC aus (zum Lesen über ein C+±Programm, MFC 7.1) werden diese fälschlicherweise bereits beim Öffnen zum Aktualisieren gesperrt (for update), wenn der betreffende PC WinXP mit SP2 besitzt. Dies sollte nicht geschehen, da es sich nur um eine Anzeige von Datensätzen handelt und weder für das Datenbankobjekt (vom Typ CDatabase) noch das zugehörige Recordsetobjekt (vom Typ CRecordset) eine derartige Sperre setzt - zumindest nicht so, daß es für den Entwickler erkennbar wäre.
Die Datensätze düften also generell nur zum Lesen geöffnet werden und es dürfte keine Sperre zum Aktualisieren stattfinden.
Diese korrekte Verfahrensweise findet auch auf einem Rechner mit WinXP SP1 und Win2k statt.
Daher liegt die Vermutung nahe, daß es am Service Pack 2 von WinXP liegt.
Überprüft wurden der ODBC-Manager-Treiber, der ODBC-Treiber für die iSeries, die MDAC-Version.

Ist ein solches Feature bekannt oder hat jemand ähnliche Erfahrungen (vielleicht auch mit anderen Datenbanken) gemacht?

Hallo,

das klingt ganz nach TRANSACTION ISOLATION LEVEL SERIALIZABLE.

Dabei wird auch beim Lesen eine Sperre (S-Lock) gesetzt. Normalerweise benutzt man READ COMMITTED.

Schau mal in den ODBC-Eigenschaften nach.

Gruß

Peter