SASからOracleストアドプロシージャを呼び出して、値と戻り値を渡す方法を教えてください。私は、SAS/ACCESSとSASからOracleストアドプロシージャを呼び出す
SAS 9.3を実行しているおかげで ダン
SASからOracleストアドプロシージャを呼び出して、値と戻り値を渡す方法を教えてください。私は、SAS/ACCESSとSASからOracleストアドプロシージャを呼び出す
SAS 9.3を実行しているおかげで ダン
これは動作するはずです::ここで
は、関連リンクを含む同様の議論だproc sql;
connect to oracle (user="oracleUserName" password="pass" path="serverPath" CONNECTION=GLOBAL CONNECTION_GROUP = SASAML);
execute(execute MyPackage.MyProcedure(¶m1, ¶m2)) by oracle;
/* param1 and param2 are macro variables here */
disconnect from oracle;
quit;
これは、SAS 9.2にし、ODBCパススルーを使用して、上記正常に動作する必要があります。
http://communities.sas.com/message/114296#114296
私は試してみて、この答えでリンク先の記事を推測するためにいつか戻ってくるだろうが...
パススルー・ストアド・プロシージャの実行では、出力パラメータはサポートされません。しかし、出力パラメータが1つだけ必要な場合は、関数と "SELECT FROM dual"クエリを使用することで回避することができます。ここでは例です(マクロ変数から渡される1つの入力パラメーターを使用します)。
%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;
おそらくSQLパススルー機能をチェックしますか? – stevepastelan