• ベストアンサー

Accessからストアドプロシジャ実行方法教えてください

Accessから、ODBC経由でOracle7のストアドプロシージャを実行するにはどのようにすればよろしいのでしょうか?

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

データコントロールでOracleに接続しストアドプロシジャを実行するのは。 OptionsプロパティにdbSQLPassThroughを指定しRecordSourceプロパティのSQL文を直接SQLServerに解釈させるようにする。 直接SOLを投げる。SQL文はExecに続けてストアドプロシージャ名、パラメータの値です。 これで良いと思いますが。

mikadonpapa
質問者

お礼

ありがとう、ございました。 ご指示の通り、実行し問題なく動作いたしました。 本当に助かりました。

関連するQ&A

  • ストアド実行時エラー

    vb.net2010とoracle10gを使用してます ストアドをVB.NET2010でODBC経由で実行するとodbc4200 ora-00900 sql文が無効 ですとなります。 このストアドをsql/plusからだと問題無く実行出来ます。 なぜでしょうか?

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

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

  • ストアド実行時エラー

    vb.net2010とoracle10gを使用してます ストアドを実行するとodbc4200 ora-00900 sql文が無効 ですとなります。 このストアドをsql/plusからだと問題無く実行出来ます。 よろしくお願いします。

  • ストアド・プロシージャをバッチから起動させて実行する方法

    使用DBはOracle9iです。 あるストアド・プロシージャがOracleデータベースに保存されているのですが、 これをバッチから起動させて実行するには、どのようにバッチ内容を記述すればよろしいでしょうか?

  • ACCESS2003 実行時エラー

    初めてmsn相談箱を利用させていただきます。 今、大変困っています。 ・現象 ACCESS2003 VBA  DB.EXECUTE "DELETE * FROM C20_FILE"で      実行時エラー3156 ODBC--リンクテーブル"C20_FILE"での削除に失敗しました。      とダイアログがでてとまってしいます。 ・正常動作実績 OS:Windows XP SP3 msjet40.dll : 4.0.9511.0 msjetoledb40.dll : 4.0.9502.0 ODBC Driver : Oracle in OraHome92 (9.02.00.00) ACCESS2003 DB : Oracle 9i R2 (9.2.0.1.0) 上記の環境では、問題なく動作しています。 ・エラーがでる環境 サーバOS : Windows Server 2008 R2 Standard(64bit) クライアントOS : Windows 7 Professional(32bit) DB : サーバ Oracle Database 11g R2(11.2.0.1.0) for Microsoft Windows(32bit) クライアント Oracle Database 11g R2 Client (11.2.0.1.0) forMicrosoftWindows(32bit) ACCESS2003 msjet40.dll : 4.0.9756.0 msjetoledb40.dll : 4.0.9756.0 ODBC Driver : Oracle in OraClient11g_home1 (11.02.00.01) ODBC接続は正常です。 ACCESS2003 オブジェクトのテーブルからリンクテーブルC20_FILEを開いて 全レコードを削除しようとすると ODBC--リンクテーブル"C20_FILE"での削除に失敗しました。 [Oracle][ODBC][Ora] ORA-01483 : DATEまたはNUMBERバインド変数の長さが            無効です。(#1483) とエラーがでたり、ACCESSに問題が発生しました。とでて ACCESS2003が終了したりと一定ではありません。 ・調査       自分なりに色々のサイトを探してみたのですが、これだ!!と思うのが見当たり            ません。 何卒どうか、どなたか助けてください!!!自分は、OS、ORACLE等は初心者です。          

  • エクセルからアクセスのプロシージャーを実行させるには?

    エクセルの標準モジュールには→エクセル側のプロシージャー アクセスの標準モジュールには→アクセス側のプロシージャー と言う名前のプロシージャーが作成されています。 これをどちらもエクセル側で実行させることは出来ないでしょうか? 「アクセス側のプロシージャー」ではアクセス側の処理が実行されます。 でもできればエクセル側のコマンドボタンを一回押すだけで エクセルとアクセスの両方の処理を実行させたいです。 エクセルの標準モジュールには Sub エクセル側のプロシージャー() Call アクセス側のプロシージャー End Sub これを実行すると コンパイルエラーになります。 どうすれば一度で二つのアプリケーションのプロシージャーを実行させることが可能でしょうか? よろしくお願い致します。

  • アクセスadpでのDLookUp関数

    アクセス2003 adpのレポートのあるコントロールのコントロールソースにDLookUp関数を使おうとしています。 =DLookUp("列名","ストアドプロシージャー名") *ストアドプロシージャーの抽出条件にパラメータを設定してあります レポートの「入力パラメータ」にも記入してあります *ストアドプロシージャーを実行した結果のレコードは1つのみです mdbでは =DLookUp("列名","クエリー名") でうまくいっていたのですが adpの場合#エラーになってしまいます 一時ファイルにレコードを追加してそれを引数にすればうまくいくのですが、 できればストアドプロシージャーを引数にしたいと思っています。 どなたかご教授をお願いいたします

  • .NETからストアドプロシージャを実行

    VB.Netからストアドプロシージャを実行するプログラムの書き方がよく分かりません。 データベースはOracleです。 PROCEDURE test(aaa IN number, bbb IN varvhar2, ccc IN OUT varchar2); といったPL/SQLをVB.NET上で実行するとします。 (略:データベースへの接続処理) strSql = "begin test(10, 'テスト', '');end;" 結果「式が割り当てられていません」とエラーが出ます。 すべての引数がINのプロシージャでは、上記の方法で実行できたので、IN OUTへの引数の渡し方に問題があると思うのですが、どうしても分かりません。 まだ使い始めたばかりで、どうしていいかまったく分からない状態です。 どうかご指導お願い致します。

  • ストアドプロシージャはアトミックに実行されるのでしょうか?

    MySQLのストアドプロシージャやストアドファンクションは、 アトミックに実行されるのでしょうか? それとも、BEGIN~COMMITすべき(アトミックでない)でしょうか?

  • ストアドプロシージャを実行時のパラメータについて

    はじめましてkou2000と申します。SQLServer2000でストアドプロシージャを作成していますがうまくいきません。 下記のようなことが実際にできるかご教授ください。 CREATE PROCEDURE TEST_PROCEDURE @SYUBETU nvarchar AS SELECT AAAAAAA INTO ##TMP FROM TEST WHERE BBBB IN (@SYUBETU) GO 上記のようなストアドプロシージャを作成しプログラムから実行する際に @SYUBETU = "'1','2','3','4','5'" のような可変の文字列を設定しストアドプロシージャを実行できますでしょうか? よろしくお願いします。