Information générale
Titre:
Cursoradapters and oracle10g using ODBC
Versions des environnements
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.
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement