
Microsoft Oracle ODBC driver and ADO
We have a C++ application that used the native Oracle ODBC driver to
access an Oracle DB via ADO. After discovering a bug in the new 8i
version of the driver, Oracle support recommended we switch to the
Microsoft Oracle driver. We are using Oracle 8.1.7 and I have latest
MDAC running (2.6 SP1).
The application populated data in the recordset via ADO, using the
Recordset object. I have found a few places in the program where
performance on the Recordset.Update method is drastically slower on
the MS driver vs. the Oracle driver. The difference is magnified in
larger tables.
Here is the connection string that is used:
hr = Recordset->Open(vTableName, vNull, adOpenStatic,
adLockPessimistic, adCmdTable );
Then the Recordset.AddNew method is invoked, the appropriate fields
are populated, and the Recordset.Update method is called.
Similar code is run for updates of existing records.
Has anyone seen this kind of performance? Is the MS driver's
performance just that much poorer?
Thanks.