Re: Oracle Object for OLE vs. ODBC via Visual Basic

From: Keith Majkut <kmajkut_at_netcom.com>
Date: 1995/04/17
Message-ID: <kmajkutD75nEy.Lqn_at_netcom.com>#1/1


In article <3mk8oh$op2_at_sol.aec.ca>, Steve Recsky <SteveRecsky_at_aec.ca> wrote:
>
>Our trials and tribulations continue here at AEC with Visual Basic accessing
>Oracle.
>
>Initially we started with ODBC but soon found a major bug with VARCHAR2 data
>being truncated. Talks with both Oracle and Microsoft have finger pointing
>going on but no resolution. With that, we had been looking towards Oracle
>Glue for a cleaner interface. We had a trial run of Oracle Glue in and it
>looked very promising. That is until Oracle Objects for OLE (OO4O) came along
>and showed potential as being Oracle's future direction for VB Oracle access.
> So, moving forward on the hype that OO4O was the next thing, our VB
>Developers switched from ODBC to OO4O to see if it was true. The coding is
>easier, but the performance is so slow!!! Our on-line application shows time
>differences that are 18 times slower than ODBC. Tracing on the 2 different
>interfaces show more work being done in OO4O than ODBC! What gives!! We even
>tried setting the Dynasets to be read-only... no luck. Please help, or direct
>us to someone who can!!!

When you say 18 times slower, what are you comparing it to? OO4O is designed to be compared to using JET/ODBC in non-PASSTHROUGH mode. The design of OO4O is to fetch and cache all row data(except for LONGs) as the dynaset is traversed. This is done whether or not the data is actually referenced. This guarantees read consistency for the query. A DAO dynaset is implemented by fetch a "window" of data based on a primary key. If you do not actually reference the data, it is not fetched. This method is faster, but does not guarantee read consistency.
If you are comparing to SQLPASSTHROUGH mode, then OO4O may be slower with small recordsets(but it does get better as the recordcount increases), but PASSTHROUGH only gives you a readonly dynaset, no transactions, etc...

It is true that OO4O does more work than ODBC. OO4O implements scrolling cursors, dynasets, databases, transactions, etc. OLE Automation is also part of the overhead.

>
>P.S. We also tried the performance and tuning hints in the documentation.
>
>Regards,
>Steve
>
>* Steve Recsky, Staff DBA * Voice (403) 266-8283 (OFFICE) *
>* ALBERTA ENERGY COMPANY LTD. * Fax (403) 290-8283 (OFFICE) *
>* 3900, 421 - 7th Avenue S.W. * *
>* Calgary, AB, Canada T2P 4K9 * SteveRecsky_at_aec.ca *
>
Received on Mon Apr 17 1995 - 00:00:00 CEST

Original text of this message