• 締切済み

ORACLE-JDBCでストアドプロシージャ

Oracleのパラメータ付きストアドプロシージャをJava(JDBC)でキックした場合に、戻り値のパラメータ参照をJavaの方で行うにはどうしたらよいでしょうか?誰か教えてください。

みんなの回答

  • rabbie
  • ベストアンサー率51% (16/31)
回答No.1

ストアドプロシージャをよんだりする部分は出来ていると仮定して書きます。 Statement のオブジェクトを作るときに、Connection のオブジェクトからcreateStatement ではなくて prepareCall(String sql) のメソッドで CallableStatement のオブジェクトを作れば set% メッソドでパラメータをせっとして execute% した後、get% メソッドで取り出せます。 set% は setInt とかのことです。 詳しくはAPIのドキュメントを見てください。(java.sqlのパッケージを見てください。)

参考URL:
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ストアドプロシージャからストアドプロシージャを呼ぶことはできるか?

    ストアドプロシージャからストアドプロシージャを呼ぶことはできるか? Oracle10g WindowsServer2008 Aというプロシージャ内でEXECコマンドを使ってBというプロシージャを呼ぶようにしたところコンパイルエラーになりました。ストアドプロシージャからストアドプロシージャを呼ぶことはできないのでしょうか?

  • ストアドプロシージャ

    ストアド初心者ですが Oracle 9iのストアドプロシージャを作成したいのですが 全くわからず困っています。 とりあえず、以下のテーブルが既に存在し 受注番号がわかっていて、商品名、数量、単価の変更を ストアドプロシージャでおこなうにはどのようにすればよいでしょうか? ご教授お願い致します。 ********************************************** テーブル名:TEST 項目1:受注番号 項目2:商品名 項目3:数量 項目4:単価 項目5:受注日 PS. ストアドのわかりやすい解説書やホームページ お知りの方いらっしゃいましたら、ご教授お願い致します。

  • ストアドプロシージャ

    こんにちは。 Javaにて、ストアドプロシージャを実装しなくてはならない要件が急遽発生しましたが、私にはそれに関連する知識が皆無で、戸惑っています。 参考になるURLなど、なんでもよいので、ご存知でしたらご教授ください。 Javaは、Java2、データベースは、DB2です。

  • ストアドプロシージャの実行

    こんばんは。 C#のアプリケーションからストアドプロシージャの実行を検討 しています。ストアドプロシージャでは複数テーブルを更新する バッチシステムです。 このケースでは、C#側ではエラーをどこまでハンドリングするのが 良いでしょうか?。 「成功と失敗の戻り値だけ」か、それとも「ORA-」のようなエラーまで全てハンドリングすべきか迷っていまして・・。 ご意見お願いします。

  • ストアドプロシージャについて

    ストアドプロシージャで、Accessのクエリーを実行させテーブルの中の指定したIDのデータを削除させるという流れなのですが・・ 以下のソースで実行はできるのですが、削除ができていないので原因がわかりません。アドバイスお願いします。 package CallableStatement; import java.sql.*; import java.io.*; public class cCallableStatement { public static void main(String[] args) { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection db=DriverManager.getConnection("jdbc:odbc:sample","",""); CallableStatement cllDelete; int ID = 3;        // 削除 cllDelete = db.prepareCall("{call DELETE(?)}"); cllDelete.setInt(1,ID); cllDelete.executeUpdate(); } } 環境はwin2000 pro forte for java 4.0 jdk : 1.4 データベース: Access2000

  • JDBCによるストアードプロシージャ呼び出し

    いつもお世話になっております。 JDBCによるストアードプロシージャCALLについてお伺いいたします。 ストアードプロシージャを実行するにはいくつかのメソッドがあります。 戻り値が複数ある場合はexecute()メソッドを用いるそうですが、 ResultSetオブジェクトを複数返す場合はどのように受け取ればよいのでしょうか? 例えば ResultSet rs = cstmt.execute();では複数うけとれますか? よろしくお願いいたします。

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

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

  • ASPからストアドプロシージャにパラメータが渡せない

    正常に動作していたASPに、ストアドプロシージャに渡すパラメータを追加してブラウザでテストをしたのですが、「データの型が一致しない」という意味あいのエラーメッセージが表示されます。 しかし、送り側はHTMLのテキストボックスに入力された値で、受け取り側はvarchar型ですので、間違っていないはずです。 また、追加したパラメータ以外のパラメータをコメントにして実行すると、正常に動作します。 同じ開発チームの方から、「パラメータとして渡すときに、バイト数に制限があるのでは?」とか、「そのような事に関することがマイクロソフトのバグ情報に載っていた記憶がある」とか教えていただいたのですが、それらしき項目はありませんでした。 また、ストアドプロシージャ単体では、正常に動作しています。 どなたかわかる方、よろしくお願いいたします。

  • shellからストアドプロシージャの呼び出し

    shellからストアドプロシージャにinパラメータを渡し、 outパラメータに値やエラーコード等を戻す際、 shellの変数でそのまま受け取ることは可能でしょうか? shellでエラーコードなどのoutパラメータを受け取る 一般的な方法を教えてください。

  • ストアドプロシージャでのOracle Sqlcodeの環境差異について

    ストアドプロシージャでのOracle Sqlcodeの環境差異について <質問詳細> 【事象】 ストアドプロシージャ実行時、Data Not Found時に、ふたつのOracle環境にて 異なる動作がみられました。 (1)環境A(Release 9.2.0.8.0)  NotFound時、例外が発生する(SQLCODE=100) (2)環境B(Release 9.2.0.6.0)  NotFound時、例外は発生せず、SQLCODEを判断するロジック  (下記IF SQLCODE = 0 THEN …)にすすむ。 ※実行したストアドプロシージャはSQLは以下の通り SELECT COLUMN_A, COLUMN_B, COLUMN_C INTO SP_COLUMN_A, SP_COLUMN_B, SP_COLUMN_C FROM TBL1 WHERE COLUMN_D = TBL2_SP_COLUMN_D AND ROWNUM = 1 ORDER BY COLUMN_A; IF SQLCODE = 0 THEN   :   : ELSE   :   : END IF; このような動作差異の原因としては何が考えられるでしょうか? <補足> 環境依存によるものでしょうか?(Oracleの初期化パラメータ等) それともコーディング上の問題でしょうか? べからず集などをサイトで調査中ですが、ご教示の程、宜しくお願いします。 以上です。

光回線の必要性について
このQ&Aのポイント
  • 光回線の将来性について質問です。
  • スマホの5G普及により、光回線は必要なくなるのでしょうか?
  • 光回線について全くのIT音痴なので教えてください。
回答を見る

専門家に質問してみよう