こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessからoracleのストアドプロシージャを呼び出したい。

はじめまして。
いきなりですが質問させてください。

Accessからoracleのデータベース内に有るストアドプロシージャを使いたい(ボタンを押したらoracleのプロシージャが起動するイメージ)のですがAccessのVBAからはどのようにすれば使用できるのでしょうか?
色々調べて見たのですがVBからのはよく有るのですがVBAからは見つけられませんでした。
ODBCで繋げて呼び出しが出来たらなと思っています
無理ならば他の方法でも構いません。

よろしくお願いします。

使用環境
Access:2002
oracle:Oracle9i Enterprise Edition Release 9.2.0.1.0

投稿日時 - 2007-06-01 17:05:25

QNo.3048441

すぐに回答ほしいです

質問者が選んだベストアンサー

>パススルークエリでも小細工が必要になるのでしょうか?

ACCESS-VBA側としては、パススルークエリを使って、
select execPROC('hogehoge') from dual;
のように書いて、オラクル側ストアドファンクション(execPROC)で
動的SQL呼びだしを使って、第一パラメータに指定されたプロシジャを
実行し、結果(成/否)をファンクション(execPROC)の戻り値とすることは
可能でしょう。

これは、まともな対応とも思えず、小細工の一例かと思います。

投稿日時 - 2007-06-02 02:01:19

お礼

回答ありがとうございます。
そうですか…
色々教えていただきありがとうございます。
小細工はあまりよろしくなさそうなので素直にoo4oの使用を検討したいと思います。

今回はありがとうございました。

投稿日時 - 2007-06-04 12:22:12

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ODBC接続でも小細工すれば、ストアドプロシジャを起動することは可能だとは思いますが・・
一般的には、oo4oを使うのが多いかと思います。

http://www.b-s-c.co.jp/~y-fukui/pg_hint/db_prog05.htm#4
の「3..ストアド・プロシジャの呼出しと戻り値の判定」で、oo4oを使ったPL/SQL実行の例がありますので、
BEGIN~ENDの間に、ストアドプロシジャ呼出を書けば良いでしょう。

投稿日時 - 2007-06-01 19:03:45

お礼

回答ありがとうございます。
そうですか小細工しないとダメなんですね
呼び出すだけなので簡単にできるものではないかと思っていました…

パススルークエリでも小細工が必要になるのでしょうか?
カテ違いだったら申し訳ありません。

投稿日時 - 2007-06-01 22:42:50

あなたにオススメの質問