ストアード・プロシージャーおよびユーザー定義関数のワークベンチ機能の制限

このトピックでは、ワークベンチのストアード・プロシージャーおよびユーザー定義関数機能での現在の制限について説明します。

DB2® z/OS® V8 サーバーをターゲットとする場合の、Java™ ストアード・プロシージャーのビルドおよび実行に関する制限と前提条件

ファイル・システムからの Java ストアード・プロシージャーのインポート、およびそのターゲット・データベースへのデプロイにおける制限

ファイル・システムから Java ストアード・プロシージャーをインポートして、それをターゲット・データベースに正常にデプロイした後に、ストアード・プロシージャーの実行が失敗する場合があります。 メソッド名が、ストアード・プロシージャーが実行する環境内にすでに存在しているメソッド名と競合する可能性があります。

ストアード・プロシージャーのインプリメンテーション・クラスは、パッケージに組み込まれて固有に識別されることを確認する必要があります。 Java ソース内にパッケージ・ステートメントを挿入して、ストアード・プロシージャーを開発プロジェクトにインポートします。 さらに、ストアード・プロシージャーのインプリメンテーション・メソッドが固有の名前を持っていることを確認します。 これは、開発プロジェクトにインポートする前に Java ソース内のメソッド名を変更することで実行できます。

バインド・オプション ACTION(REPLACE) 指定時の制限

DB2 Universal JDBC Driver を使用して SQLJ ストアード・プロシージャーをビルドするときに、バインド・オプション ACTION(REPLACE) でビルド・エラーが発生することがあります。 このエラーは、DB2 UDB for Linux®, UNIX®, and Windows® バージョン 8 フィックスパック 5 以前のリリースにおいて、ストアード・プロシージャーが DB2 UDB for Linux, UNIX, and Windows バージョン 8 または DB2 UDB for z/OS バージョン 8 のサーバーに接続するときに発生する可能性があります。SQLJ プロシージャーをビルド中に、DB2SQLJCUSTOMIZE コマンドが次の例外をスローすることがあります。
java.sql.SQLException: invalid options string
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:1018)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:775)
	at com.ibm.db2.jcc.sqlj.Binder.a(Binder.java:432)
	at com.ibm.db2.jcc.sqlj.Binder.bindMain(Binder.java:338)
	at com.ibm.db2.jcc.sqlj.Customizer.customizeMain(Customizer.java:810)
	at com.ibm.db2.jcc.sqlj.Customizer.main(Customizer.java:272)

この問題は、DB2 UDB for Linux, UNIX, and Windows バージョン 8 フィックスパック 6 で修正されています。 このエラーに対処するには、ACTION(REPLACE) オプションの に他のすべてのバインド・オプションを指定します。 例えば、BLOCKING(ALL) ACTION(REPLACE) ではなく、ACTION(REPLACE) BLOCKING(ALL) を使用します。

ACTION(REPLACE) オプションのみを使用してこのエラーを回避する場合は、パッケージをリモート・サーバーにバインドする際のデフォルトの検証レベルが、ACTION(REPLACE) VALIDATE(BIND) のように自動的に追加されます。


フィードバック