Hi All:
I am using SAS/ACCESS ODBC (v9.3) to access an Oracle table. I would like to execute a stored process but I keep getting an error:
proc sql;
connect TO ODBC (datasrc=odbc_name user=myuserid password=XXXX1234 );
execute (execute AAA_BBB_CCCC.MY.STORED.PROCESS.NAME ) by ODBC;
ERROR: CLI execute error: [Oracle][ODBC]Syntax error or access violation.
disconnect from ODBC;
quit;
NOTE: The SAS System stopped processing this step because of errors.
I have used this same syntax for a SQL Server store process and it works there.
Any help would be appreciated.
Are you sure of the package name? You're probably obfuscating, but I don't think it can have all of the periods.
Hi:
Just trying to be obtuse.... I messed up the periods - should be AAA_BBB_CCCC.MY_STORED_PROCESS_NAME
But I can run the stored process from SQL + so that shouldn't be an issue.
Have you tried a semicolon on your EXECUTE statement?
execute (execute AAA_BBB_CCCC.MY_STORED_PROCESS_NAME; ) by ODBC;
SASKiwi:
That give me a syntax error.....
I think you are right, semicolons are only required on SELECT statements. Unfortunately I don't have Oracle to test this out on, although I too have a stored procedure running under SQL Server and it works fine.
Have a look at this: 18350 - Calling stored procedures using SAS/ACCESS® Interface to Oracle
And maybe try: execute (execute AAA_BBB_CCCC.MY_STORED_PROCESS_NAME() ) by ODBC; Does your stored proc have any parameters?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.