HowTo: Using special characters in SQL passthrough stored procedure parameters?
Hi all,
I am creating a Visual FoxPro 5.0a application, where I am trying to call a stored procedure in my Oracle database with the following SQLEXEC command (SQLEXEC is the Foxpro function to send sql statements to the ODBC driver):
lcSQL = "{Call Insert_FRB.NewItemPage('KABO)n$i,30000000000', '184927', '184927', 'MAIR2001011216151314', 'MAIR')}"
/* Sorry the above command should of course not break accross pages*/
lnSuccess = sqlexec(1,lcSQL)
With the parameters given, I get the ODBC error: "Connectivity error: [Oracle][ODBC Oracle Driver]Syntax Error."
I get the same error, when using the Oracle ODBC 32bit Test utility.
The call works just fine, if I replace the "$" in the first parameter 'KABO)n$i,30000000000' with a "normal" character, e.g. 'KABO)nAi,30000000000'. Oracle handles the $-character just fine, the stored procedure is working properly when called directly in SQLPLUS8.
I am using the Oracle ODBC driver sqo32_73.dll Version2.00.03.01.
Questions:
How do I have to submit the "$" to the ODBC driver, in order to be passed through to Oracle unchallenged?
Does anybody know of other special characters, which are not accepted by the ODBC-drivers for Oracle?
Thanks to any hints,
Peter