从SAS调用Oracle存储过程

从SAS调用Oracle存储过程,sas,Sas,如何从SAS调用Oracle存储过程来传递值和返回值。我有SAS/ACCESS并运行SAS 9.3 谢谢 Dan这在SAS 9.2及更高版本中使用ODBC直通应该可以正常工作 以下是与相关链接类似的讨论: 我会试着在某个时候回来猜测一下这个答案中的链接文章…这应该可以: proc sql; connect to oracle (user="oracleUserName" password="pass" path="serverPath" CONNECTION=GLOBAL CONNECTIO

如何从SAS调用Oracle存储过程来传递值和返回值。我有SAS/ACCESS并运行SAS 9.3

谢谢
Dan

这在SAS 9.2及更高版本中使用ODBC直通应该可以正常工作

以下是与相关链接类似的讨论:

我会试着在某个时候回来猜测一下这个答案中的链接文章…

这应该可以:

proc sql;

connect to oracle (user="oracleUserName" password="pass" path="serverPath" CONNECTION=GLOBAL CONNECTION_GROUP = SASAML);

execute( execute MyPackage.MyProcedure(&param1, &param2) ) by oracle;

/* param1 and param2 are macro variables here */

disconnect from oracle;

quit;

直通存储过程执行不支持输出参数。但如果您只需要一个输出参数,解决方法是使用一个函数和“SELECT FROM dual”查询。下面是一个示例(它使用一个从宏变量传入的输入参数)


也许可以查看SQL传递功能?
%let a =  'ddd'; 
proc sql;
    connect to oracle as ora2 (user=xxx password=xxx path="xxx");
    select * from connection to ora2 (
    SELECT test_fun(p_a => &a.) FROM dual
    );
    disconnect from ora2;
run;