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

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

ルーチン内での DB2 データ・タイプの使用に関する制限

DB2® では、特殊タイプ (ユーザー定義タイプ) をパラメーターとして含むストアード・プロシージャーおよび UDF は完全にはサポートされていません。

XML のデータ・タイプは、DB2 for z/OS® ストアード・プロシージャーのパラメーターとしてサポートされていません。

DB2 for Linux, UNIX, and Windows バージョン 8.1 をターゲットにする場合の Java ストアード・プロシージャーのデプロイメントの制限

Universal Driver を使用し、DB2 for Linux®, UNIX®, and Windows® バージョン 8.1 をターゲットとする Java™ ストアード・プロシージャーのデプロイはサポートされていません。

DB2 z/OS サーバーをターゲットとする場合の、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) のように自動的に追加されます。


フィードバック