Posted by & filed under ORACLE.

>表題にある通り、ストアードプロシジャー(PL/SQL)の中で
>DOSコマンドを実行したのですが、方法がわかりません。
>
>どなたか判る方がいらしたら教えてください。
>
1091058さん、こんにちは。
このフォーラムに結構同じ質問が出てたりします。
でも、例まではなかったかな。
で、簡単ですが載せておきます。
内容的には、以下のな感じでしょうか?
あくまで例なので、細かい部分は省略しています。
あと、外部プロシージャ呼び出しにはLISTENER.oraにEXTPROCの
項目を追加する必要がありますのでお忘れなく。

<外部呼出しの構造>
1.PL/SQL⇒2.外部プロシージャ呼び出し定義(PL/SQL)⇒3.Cライブラリ⇒4.コマンド

<1.の例>
CREATE OR REPLACE PROCEDURE PROC1 (
	retcd	out NUMBER
) AS
BEGIN

    retcd :=  FUNC1();

END;

<2.の例>
CREATE OR REPLACE FUNCTION FUNC1 
RETURN BINARY_INTEGER AS EXTERNAL
	LIBRARY LIBC
	NAME “FUNC2″
	LANGUAGE C;

<3.4.の例>
int FUNC2( void ){
    int status;
    status = system(4.DOSコマンド);
    return(status); 
}

Comments are closed.