Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> FoxPro 3.0/ODBC/Oracle 7.2

FoxPro 3.0/ODBC/Oracle 7.2

From: Ben Bennett <bennettb_at_frognet.net>
Date: 1997/04/14
Message-ID: <MPG.dbc1fee3f9feb05989680@news.frognet.net>#1/1

Hello all,

   I am currently writing an ODBC application using FoxPro 3.0 (Win95) as the front-end and Oracle Workgroup Server 7.2 (WinNT 3.51) as the backend.   My problem arises from the fact that we have developed the application (pretty much finished) using the Intersolv ODBC driver. The customer has since made it a requirement that our application use EDA Server and the EDA ODBC Extender. The problem is that when FoxPro uses parameters in an SQL select or update statement, using the EDA ODBC Extender, Oracle returns an error (ORA-00911 invalid character). I belive it is choking on a question mark. When the intersolv driver is used, everything works fine.

   One difference between the intersolv and the EDA drivers is that the intersolv driver communicates with Oracle directly, where the EDA driver talks to the EDA server which in turn passes things along to Oracle.

   When I look at ODBC trace files, I see that there is (for either driver used) a SQLBindParameter() function call for each parameter in the select or update statement, then an SQLExecDirect() call with question marks as placeholders for the parameters.

QUESTION #1: What is actually making these SQLBindParameter() and SQLExecDirect() function calls?

     Is it the selected ODBC driver?  (My assumption)
     Is it FoxPro?                    (I don't think so)
     Is it the WIN95 ODBC manager?    (<shrug>)

QUESTION #2: Where are the SQLBindParameter() and SQLExecDirect() calls being made to? In other words, where are these functions.

     Is it the windows ODBC manager?  (My assumption)
     Is it the selected ODBC driver?  (I don't think so)

QUESTION #3: How does Oracle recognize the fact that there is a bound parameter in the SQL select/update statement? Is it the fact that a question mark is in the statement or is there some parameter that is passed to Oracle in some other command to tell it to expect a parameterized statement?

   What I believe is happening is that the EDA ODBC driver is working correctly by using ODBC standards to bind parameters to the SQL statement but that binding is being lost as the statement passes through the EDA Server.

   Thank you in advance for any replies.

   Please respond to bennettb_at_frognet.net     Received on Mon Apr 14 1997 - 00:00:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US