Обсуждение: Serious problem with the odbc driver and VFP

Поиск
Список
Период
Сортировка

Serious problem with the odbc driver and VFP

От
Willy De la Court
Дата:
After byron fixed the odbc driver to version 0009 I could use foxpro 
perfectly with small tables.

Now another problem surfaces.
I think the guys that wrote VFP only had microsoft SQL server in mind 
because when using the vfp interface to create views they frequently use 
SQLPREPARE "SELECT * FROM TABLE" and then use SQLNumResultCols to get a 
result.

For small tables this is no problem but if you have a multi megabyte table 
with about 50000 records in you do have a problem.
SQLPREPARE works OK but when VFP executes SQLNumResultCols directly after 
the Prepare the odbc driver submits the "SELECT * FROM TABLE" to the 
backend effectively executing the query. Result is 2 minutes waiting time 
and sometimes memory error on the backend.

Any ideas how to solve this problem.




Re: [INTERFACES] Serious problem with the odbc driver and VFP

От
Byron Nikolaidis
Дата:

Willy De la Court wrote:
> 
> After byron fixed the odbc driver to version 0009 I could use foxpro
> perfectly with small tables.
> 
> Now another problem surfaces.
> I think the guys that wrote VFP only had microsoft SQL server in mind
> because when using the vfp interface to create views they frequently use
> SQLPREPARE "SELECT * FROM TABLE" and then use SQLNumResultCols to get a
> result.
> 
> For small tables this is no problem but if you have a multi megabyte table
> with about 50000 records in you do have a problem.
> SQLPREPARE works OK but when VFP executes SQLNumResultCols directly after
> the Prepare the odbc driver submits the "SELECT * FROM TABLE" to the
> backend effectively executing the query. Result is 2 minutes waiting time
> and sometimes memory error on the backend.
> 
> Any ideas how to solve this problem.
> 
> ************

Set the "use declare/fetch" driver option to enabled.  This will cause
the driver to only fetch 100 rows (or whatever you have the size set to
in the driver options) before returning control.  It can then return the
result of SQLNumResultCols easily and cancel the statement or continue
processing.

Byron