Thread: Serious problem with the odbc driver and VFP
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.
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