4

ここでおそらく簡単な質問があります.DB2データベースに接続し、Javaを介してSPを実行しようとしています.データベースに接続できますが、SPの実行中にエラーが発生しました.これを解決する方法を教えてください.ちなみに,すべてのJDBC URL、スキーマ、usrname、およびパスワードをプロパティファイルに入れて、バッチファイルを実行しています

バッチファイルを実行したときのスタックトレースは次のとおりです

URL :`jdbc:db2://ip:50001/RMSDB:currentSchema=etwrms;currentPackagePath=etwrms,sysibm,sysfun,sysproc;currentFunctionPath=sysibm,sysfun;

Santosh....after WF_NON_MSG_SEND

ERROR [main] WorkflowMailer (processcycle:344) - DB2 SQL Error: SQLCODE=-440, SQ
LSTATE=42884, SQLERRMC=WF_NON_MSG_SEND;PROCEDURE, DRIVER=3.57.82
com.ibm.db2.jcc.am.io: DB2 SQL Error: SQLCODE=-440, SQLSTATE=42884, SQLERRMC=WF_
NON_MSG_SEND;PROCEDURE, DRIVER=3.57.82
        at com.ibm.db2.jcc.am.bd.a(bd.java:676)
        at com.ibm.db2.jcc.am.bd.a(bd.java:60)
        at com.ibm.db2.jcc.am.bd.a(bd.java:127)
        at com.ibm.db2.jcc.am.km.c(km.java:2506)
        at com.ibm.db2.jcc.am.km.d(km.java:2483)
        at com.ibm.db2.jcc.am.km.a(km.java:1963)
        at com.ibm.db2.jcc.t4.db.g(db.java:139)
        at com.ibm.db2.jcc.t4.db.d(db.java:75)
        at com.ibm.db2.jcc.t4.t.d(t.java:63)
        at com.ibm.db2.jcc.t4.sb.k(sb.java:170)
        at com.ibm.db2.jcc.am.km.fb(km.java:1958)
        at com.ibm.db2.jcc.am.lm.kc(lm.java:2813)
        at com.ibm.db2.jcc.am.lm.b(lm.java:3515)
        at com.ibm.db2.jcc.am.mm.Yb(mm.java:113)
        at com.ibm.db2.jcc.am.mm.execute(mm.java:96)
        at com.ramco.rvw.workflow.mail.WorkflowMailer.processcycle(WorkflowMaile
r.java:338)
        at com.ramco.rvw.workflow.mail.WorkflowMailer.main(WorkflowMailer.java:6
5)
`
4

1 に答える 1

7

次回 DB2 エラーが発生した場合は、この便利なエラー メッセージの Web サイトにアクセスして理由を見つけることができます。

-440

互換性のある引数を持つ名前 routine-name による許可された routine-type が現行パスに見つかりませんでした

説明

ルーチンを呼び出そうとしましたが、DB2® は、引数リストを含むルーチンの呼び出しを特定のルーチン定義に解決できませんでした。

ルーチン型

FUNCTION や PROCEDURE などのルーチンのタイプ。

ルーチン名またはスキーマ名.ルーチン名

ルーチンの名前。元のステートメントが修飾名を参照している場合、メッセージ テキスト内のルーチン名はスキーマの名前によって修飾されます。

このエラーの考えられる原因は次のとおりです。

  • ルーチン名が正しく指定されていないか、データベースに存在しません。
  • 修飾参照が使用され、スキーマ修飾子が正しく指定されていませんでした。
  • ユーザーの SQL パスには、目的の関数が属するスキーマが含まれておらず、修飾されていない参照が使用されました。
  • 間違った数の引数が含まれていました。
  • ルーチン参照には正しい数の引数が含まれていましたが、1 つ以上の引数のデータ型が正しくありません。
  • ルーチンの呼び出し元は、ルーチンを実行する権限がありません。

あなたの反応

SQL ステートメントを調べて、何が問題なのかを突き止めてください。

于 2012-09-27T13:39:11.253 に答える