Das Problem wird sein, daß ADO wohl über ODBC auf den CA/400-ODBC-Treiber verwendet wird.
Wenn hier die Standardeinstellungen von ADO verwendet werden, wird noch eine SQL-Schicht eingeschoben, da CA/400 keine BOOKMARKS unterstützt !
Wenn also entsprechende Daten per SQL gelesen werden, muß man entscheiden ob diese Daten ggf. geändert werden müssen. Wenn nicht, sollte man unbedingt SNAPSHOTS verwenden.
Ansonsten verwaltet diese zusätzliche Schicht selbständig für jeden Datensatz eine Bookmark sowie ein Before-Immage um konkurierende Updates festzustellen.
Ausserdem erfolgt der Zugriff (Cursor dynamisch oder statisch) bei der sequentiellen Verarbeitung in 2 Schritten:
1. Zugriff für die Bookmark
2. Zugriff für den eigentlichen Satz
Dadurch kann die AS/400 keine Blockung der Daten für schnelleren Zugriff verwenden.

Z.B. ein MoveNext(100) erfordert 100 Zugriffe für die Bookmarks + 1 Zugriff für den dann ermittelten Satz.

usw. usw.

Ich bin bisher am besten mit DAO und ODBC-Direktarbeitsbereich gefahren.