Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Cursoradapters and oracle10g using ODBC
Message
From
16/02/2006 04:16:38
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Client/server
Title:
Cursoradapters and oracle10g using ODBC
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows 2000
Database:
Oracle
Miscellaneous
Thread ID:
01096681
Message ID:
01096681
Views:
64
We are having problems with cursoradapters sending INSERT or UPDATE statements with many columns to the Oracle backend.

When a cursoradapter sends an INSERT or UPDATE statement through the backend (when a TABLEUPDATE() is called) with more than a certain number of 'parameters' ('?''s) - in this case it seems to be about 120 fields - Visual Foxpro (Version 8 SP1) crashes. The call does not seem to reach the Oracle Server, so it is likely caused by interaction between Visual Foxpro and the Oracle ODBC driver.

Interestingly, the same INSERT or UPDATE statement will work when called by the VFP command SQLEXEC() [The table we tested this on had 170 fields. It may fail with a larger number of fields].

However, if we change the INSERT/UPDATE statement to be a Stored Procedure call which performs the INSERT or UPDATE, taking the field values (and key field values) as parameters, then the SQLEXEC() call crashes VFP with more than 120 parameters (fields). (The cursoradapter does not seem to be able to send a Stored Procedure call; setting the cursoradapter's InsertCmd to 'CALL tablename_inscmd(...)' fails with an Oracle SQL parsing error from the driver).

Also, Visual Foxpro Version 8 without the Service Pack does not crash, however the calls still fail, but not necessarily at the same number of parameters. I do recall seeing something about VFP8SP1 fixing a problem with too many parameters sent via SQL Passthru perhaps, but I didn't expect that it would crash instead of erroring!

Any help you can provide would be much appreciated.
Next
Reply
Map
View

Click here to load this message in the networking platform