Re: ODBCExpress & ODBC Problems!!!

From: Pieter A. Myburgh <pieterm_at_iafrica.com>
Date: 1996/12/04
Message-ID: <32A516FF.2B8_at_iafrica.com>#1/1


Hi there!

K. Wade Turner wrote:
>
> I am evaluating ODBCExpress(both 16 and 32-bit) for use in our in-house
> products. I have been developing with Delphi 1.x and 2.x for 6 months
> now and have run into some problems with Borland's BDE, namely speed. I
> have some people who will need connections at speeds close to dial-in.
>
> Our environment consists of an Oracle 7.2 server on our NetWare 4.1
> server. We have both 16 and 32-bit clients but for the rest of this
> discussion I have been testing with the 32-bit version in Delphi 2.0. I
> have been testing with the following ODBC drivers:
> Oracle v1.15.0301
> INTERSOLV v2.12.0000
> Visigenic v2.00.0800
> OpenLink v1.50.1120
>
> The Oracle and OpenLink drivers can connect to the database but don't
> seem to contain enough Level 2 compatability to work. The Visigenic
> driver works but is VERY slow. The INTERSOLV driver is the one I am
> most interested in but have run into another problem. I have compiled
> your ODBCGRID example and with the INTERSOLV driver I get the following
> error while populating the grid:
>
> [INTERSOLV][ODBC Oracle Driver]In SQLExtendedFetch, only
> SQL_FETCH_NEXT is supported for SQL_SCROLL_FORWARD_ONLY cursors.
>
> I have tried every combination of values for the ExtendedFetch,
> CursorType, and ConcurrencyType values but nothing seems to work. Do
> you have any suggestions?
>
> As I said, I am evaluating this software for use in a large scale
> project, but if I can't solve this problem soon I will need to look
> elsewhere. Please let me know of any help/hints you can.

We've also done recent tests with the Intersolv Oracle driver and found it to be the best one around. Unfortunately when a driver only supports one cursor type (forward_only), be it because the database only supports one or not, a driver also doesn't allow you to set this one type, which is a mistake we made in ODBCExpress 1.1 initialization trying to set the cursor type supported by the driver. That is why some Oracle drivers fail to work. However, we also found that most Oracle drivers are very poorly implemented ODBC drivers, and therefore you have to go to a third party with a better driver like Intersolv's.

We hope to test a large number of ODBC drivers (DBManufacturer, Intersolv, Visigenic, etc) for the release of version 1.2 of ODBCExpress (in about two weeks).
A temporary fix for version 1.1 (used together with drivers which fail on initialization) is to initialize the Hstmt class on creation of the class (e.g. dummy .Prepare, which will call .Init) and trap the error, before continuing normal work with the Hstmt.

Regards,

Pieter

Lead Developer, ODBCExpress
DataSoft

ODBCExpress at http://www.odbcexpress.com ADAM at http://www.adam.co.za Received on Wed Dec 04 1996 - 00:00:00 CET

Original text of this message