utuさんこんにちは。 質問の答えになっていなくて申し訳ないのですが、 私もutuさんと同様の事を試して見た所、引数1つでは 実行できましたが、複数の引数を引き渡すとExecProcedureで エラーとなってしまいました。 便乗で申し訳ないんですが、どなたか複数の引数受け渡しが 成功されている方いらっしゃいませんか? ノーツのヘルプで「ExecProcedure メソッド (ODBCResultSet クラス)」を見ると、ストアードプロシージャ側への引数の受け渡し方は どうやら2通り有りそうなのです。 ※ヘルプより status = odbcResultSet.ExecProcedure(procedureName$ [,arg1] [,arg2] ... [,arg30]) または status = odbcResultSet.ExecProcedure(procedureName$, DB_PARAM_ARRAY, argArray) ※成功例 *********************************************************** //---<StoredProc>-----------------------------// CREATE OR REPLACE PROCEDURE Test_cnt(rcnt OUT NUMBER) IS cnt NUMBER; BEGIN cnt := 0; SELECT COUNT(*) into cnt FROM TESTTABLE; rcnt := cnt; EXCEPTION WHEN NO_DATA_FOUND THEN rcnt := -1; END Test_cnt; //---<notes>---------------------------------------------// Dim con As ODBCConnection Dim qry As ODBCQuery Dim result As ODBCResultSet Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim vStat As Variant '//---<ストアドプロシージャ引数>---// Dim vCnt As Variant '/O NUMBER Set uidoc = ws.CurrentDocument '//---<設定>---// Set con = New ODBCConnection Set qry = New ODBCQuery Set result = New ODBCResultSet Set qry.Connection = con Set result.Query = qry '//---<Oracle接続>---// If Not con.ConnectTo("DNS","UserID","Password") Then Messagebox "Could not connect",,"Error connecting" Exit Sub End If '//---<ストアドプロシージャ実行>---// vStat = result.ExecProcedure("Test_cnt",vCnt) ' OK!! '//---<Oracle切断>--// result.Close con.Disconnect *********************************************************** ※その他、色々とテストした結果です。 *********************************************************** ※引数1つ [----- Oracle側 -----} CREATE OR REPLACE PROCEDURE empno_exist_check(check_out out NUMBER) END empno_exist_check; [----- Notes側(引数渡し:通常) 成功 -----] Dim vStat As Variant '//---<ストアドプロシージャ引数>---// Dim vCheck_out As Variant '/O NUMBER '//---<ストアドプロシージャ実行>---// vStat = result.ExecProcedure("empno_exist_check",vCheck_out) [----- Notes側(引数渡し:配列) 成功 -----} Dim vStat As Variant '//---<ストアドプロシージャ引数>---// Dim vStParam(0) As Variant '0: /O NUMBER '//---<ストアドプロシージャ実行>---// vStat = result.ExecProcedure("empno_exist_check",DB_PARAM_ARRAY,vStParam) *********************************************************** ※引数2つ [----- Oracle側 -----} CREATE OR REPLACE PROCEDURE empno_exist_check(check_out out NUMBER, check_out2 out NUMBER) END empno_exist_check; ※Execute で実行し、Oracle上で正常に動作する事は確認済みです。 [----- Notes側(引数渡し:通常 エラー) -----} Dim vStat As Variant '//---<ストアドプロシージャ引数>---// Dim vCheck_out As Variant '/O NUMBER Dim vCheck_out2 As Variant '/O NUMBER '//---<ストアドプロシージャ実行>---// vStat = result.ExecProcedure("empno_exist_check",vCheck_out,vCheck_out2) [----- Notes側(引数渡し:配列) エラー -----} Dim vStat As Variant '//---<ストアドプロシージャ引数>---// Dim vStParam(1) As Variant '0: /O NUMBER 1: /O NUMBER '//---<ストアドプロシージャ実行>---// vStat = result.ExecProcedure("empno_exist_check",DB_PARAM_ARRAY,vStParam)