(C) Copyright International Business Machines Corporation 2000, 2006. All rights reserved.
ワークベンチには 2 つの新しいタイプのデータ・プロジェクトがあります。
- データ設計プロジェクト
- データ開発プロジェクト
データ設計プロジェクトは、例えば物理データ・モデルと論理データ・モデルのようにデータ・モデルを作成し、保管するために使用します。 データ開発プロジェクトはストアード・プロシージャーおよびユーザー定義の機能 (ルーチンとも言う) のようなデータ・アプリケーション開発オブジェクトを作成し、保管するために使用します。 ルーチンは、物理データ・モデルの一部としてデータ設計プロジェクトからも見ることができます。 ただし、データ設計プロジェクトからのルーチンへの開発サポートは非常に限られており、データ設計プロジェクトにはルーチンのための SQL ツール・サポートはありません。 ルーチンを開発している場合は、指定されたデータ開発プロジェクトを使用することをお勧めします。こうしたデータ開発プロジェクトはウィザードやルーチン・エディター、デバッグ・サポート、および SQL ツールの統合などを含む、より完全なサポートを提供します。
テーブル・データ・エディター:
. 1 列の XML データ型を持つテーブル、または非固有行数のテーブルを定義してから、テーブル・エディターを使用して行を削除すると、選択した行と一致するすべての行が削除されます。 この問題を回避するには、重複行を持つテーブルの行を削除するのにテーブル・データ・エディターを使用しないでください。. テーブル・データ・エディターでは、主キーを持たない XML テーブルに対して XML 妥当性検査を行うと、その XML 妥当性検査は XML 値を挿入した最初の時だけしか実行されません。また、XML 妥当性検査による既存の XML 列の更新は失敗します。 この問題を回避するには、XML 列を含むテーブルに対して主キーを作成してください。
注釈付き XSD マッピング・エディター:
. このエディターの複数のルート要素を操作すると、注釈付き XSD ファイルを保管するときにエラーになることがあります。この問題を回避するには、各ルート要素に別々の XML スキーマ文書ファイルのセットを作成してください。
XML:
. XML データ型を使用し、XML スキーマを操作するには、UTF -8 データベースに接続する必要があります。. XML 文書用データベースから戻されるデータ量は無制限です。 戻すデータ量によっては、パフォーマンスに影響を及ぼす場合があります。
SQL ツール :
. SQL エディターは現在、「SQL の実行」アクション中のホスト変数をサポートしていません。この問題を回避するには、それが DML ステートメントの場合、SQL ビルダーから SQL を実行します。. SQL ビルダーでは、完全な SQL 構文はサポートされていません。 例えば、ユーザー定義型 (UDT) およびテーブル関数はサポートされていません。
ルーチン開発:
. ユーザー定義型 (UDT) はルーチンのパラメーターとしてサポートされていません。. Ant デプロイを使用してファイル・システムから DB2(R) UDB for iSeries(TM) を対象にした Java(TM) ストアード・プロシージャーをデプロイするには、システムのクラスパスに jt400.jar があることを確認する必要があります。
. DeployInstructions.txt の説明を使用してエクスポートされたストアード・プロシージャーをデプロイしようとすると、次のようなエラー・メッセージが表示される場合があります。
...[createsp] ターゲット・データベースに接続できませんでした。
[createsp] com.ibm.db2.jcc.DB2Driver...
この問題を回避するには、db2jcc.jar および適切なライセンス・ファイルがシステムのクラスパスにあることを確認してください。Java ストアード・プロシージャーをデプロイまたは実行する際に「クラスのロードができない」エラーが表示されることがあります。 これは、DB2 サーバーがダウン・レベル JDK の場合、RAD v7 と DB2 サーバー間の JDK バージョンが一致していないときに発生する可能性があります。
このエラーを防ぐには、Java ストアード・プロシージャーを JDK レベルが 1.4 のサーバー (例えば、DB2 Universal Database(TM) for Linux(R)、UNIX(R)、Windows(R) V8.2 サーバーなど) に対してデプロイするときに、「ルーチンのデプロイ」ウィザードの「コンパイル・オプション」フィールドに「-source 1.4」オプションを指定してください。一般に、適切なコンパイル・オプション「-source JDK level」を使用して、データベース・サーバー上の JDK レベルを合わせます。. Ant デプロイメント機能を使用してストアード・プロシージャーまたは UDF をデプロイする場合、クラスパスに tools.jar ファイルがないと次のメッセージが表示されることがあります。
tools.jar を見つけることができません。このファイルは F:¥jre¥1.4.2¥lib¥tools.jar にあると予期されていました。
tools.jar は JRE (Java ランタイム環境) の一部であり、Ant デプロイ・ツールの一部ではありません。
tools.jar は Ant スクリプトの実行には必要ありませんので、このメッセージは差し当たり無視することができます。. ストアード・プロシージャー・エディターの Java メソッド名を変更する場合は、エディターのソース・ページで右クリックし、「保管」を選択しても、プロシージャーを正しく保管できません。 この問題を回避するには、「ファイル」->「保管」をクリックし、Ctrl+S を押すか、「保管」アイコンをクリックして、ストアード・プロシージャーを保管してください。
. 異種サーバー間 (例えば、DB2 UDB for Linux、UNIX、および Windows サーバーから DB2 UDB for z/OS(R) サーバーへ) でストアード・プロシージャーや UDF をドラッグ・アンド・ドロップする場合は、2 つのサーバー間のある種の非互換性について、ドラッグ・アンド・ドロップ操作中に警告が表示されます。操作を続け、ストアード・プロシージャーまたは UDF を開こうとすると、エラーが表示されることがあります。
SQL プロシージャー・プロファイル:
. DB2 UDB for Linux、UNIX、および Windows V8.2 サーバーに対して SQL プロファイルを実行すると、JCC ドライバーがエラー・メッセージ・テキストを取り込むのに必要な、前提条件のストアード・プロシージャー (SYSIBM.SQLCAMESSAGECCSID) がサーバーにない場合に、NULL ポインター例外が発生することがあります。 この問題を回避するには、 retrieveMessagesFromServerOnGetMessage=true 設定をしないで、サーバーへの接続を作成してください。. SQL プロシージャーの例外のモニター中に、プロシージャーで発行される INSERT、SELECT、DELETE、および UPDATE などのイベントが、DML ステートメントについて生成されます。 ただし、これらのイベントは、変数代入などのプロシージャー・ステートメント用および WHILE や IF などの制御構造用の決定論的な方法で生成されるわけではありません。
ストアード・プロシージャー・デバッガー:
. UNIX DB2 サーバーに接続しているときに、ブレークポイントの追加やデバッグ・モードでの実行中にタイムアウト例外が起こることがあります。. 名前に英語と中国語の両方の文字を含むストアード・プロシージャーでは、デバッガーが実行されません。
. 監視式は動的 Java ストアード・プロシージャーに対してのみ、サポートされています。 SQL および SQLJ ストアード・プロシージャーに対してはサポートされていません。
. デバッガーは、SET などの実行可能ステートメントの最初のトークンに位置していない場合は、ブレークポイントで停止しません。 また、DECLARE CONTINUE、CLOSE CURSOR、あるいは ROLLBACK でも停止しません。
. Java ストアード・プロシージャーをデバッグしており、強制終了アクションを選択すると、デバッグ・セッションが完全に終了するまでに数分かかる場合があります。 この間に開始された新しいデバッグ・セッションは不規則な振る舞いをすることがあります。
. 2 つ目の Java ストアード・プロシージャーを呼び出す Java ストアード・プロシージャーをデバッグしているときには、2 番目のストアード・プロシージャーはデバッグできません。 ネストされたストアード・プロシージャーにステップインすることはできず、ネストされたストアード・プロシージャーに設定したすべてのブレークポイントは無視されます。 この制限は DB2 UDB for Linux、UNIX、および Windows に当てはまります。
. Java ストアード・プロシージャーのデバッグ中に「パケット待機中にタイムアウトが発生しました」エラーが表示されたら、Java タイムアウトの設定値を高くしてください。 Java タイムアウト設定を高くするには、ワークベンチのメニュー・バーから「ウィンドウ」> 「設定」をクリックします。 「Java」ノードを展開して「デバッグ」をクリックします。 デバッグ設定ページで、「通信タイムアウト」セクションの「デバッガー・タイムアウト (ミリ秒)」の値を増やします。 少なくともデフォルト値の 2 倍にすることをお勧めします。
. Java ストアード・プロシージャーをデバッグしている時に、「値の変更」アクションを使用して空のストリング値を持つ変数を変更すると、編集ダイアログの「OK」ボタンが使用可能にならない場合があります。 ボタンを使用可能にするには、「評価の入力」ラジオ・ボタンを選択し、空ではないストリング (例えば 'a') に値を設定してから「リテラル・テキストの入力」ラジオ・ボタンを選択してください。 すると「OK」ボタンが使用可能になります。
. Java ストアード・プロシージャーをデバッグしている時にローカル変数が見えない場合は、ストアード・プロシージャーが -g コンパイラー・オプションなしでデプロイされた可能性があります。Java ストアード・プロシージャーをデプロイする場合には必ず -g コンパイラー・オプションを指定してください。
. 変数ビューに「無効なスタック・フレーム」メッセージが表示された場合は、デバッグ・ビューにしてスタック・フレームの上のスレッド・オブジェクトをクリックしてからスタック・フレームをクリックします。 これにより、変数ビューが更新され、エラーは表示されなくなります。
. DB2 UDB for iSeries V5 R4 で実行されている SQLJ ストアード・プロシージャーをデバッグしている時は、行マップを更新する iSeries PTF を 適用して Java ソースの代わりに SQLJ ソースに対応するようにしていない限り、デバッグが実行されている現在行がデバッグ・ビューに表示される SQLJ ソース行に対応しません。
. セッション・マネージャー・タイムアウトのデバッガー設定は認識されません。 これらの設定は次のようになります。「ウィンドウ」>「設定」をクリックし、「実行/デバッグ」ノードを展開して「DB2 ストアード・プロシージャー・デバッガー」をクリックします。「セッション・マネージャーのタイムアウト (分)」フィールドを変更します。
. DB2 for Linux、UNIX、および Windows では、デバッガーは大量の変数を持つストアード・プロシージャーを処理できません。変数の最大数は 200 です。
. デバッグ・セッションでのカーソル移動: プロシージャーに複数の変数宣言がある場合、次の行に移動するために「ステップイン」または「ステップオーバー」を 2 回よりも多くクリックする必要があります。 例えば、次の行では 2 回のクリックが必要です。DECLARE v_dept, v_actdept CHAR(3) また、次の行では 3 回のクリックが必要です。DECLARE v_bonus, v_deptbonus, v_newbonus DECIMAL(9,2) 変数宣言の数と同じ回数のクリックが必要です。
. Java ストアード・プロシージャーのデバッグ・セッションを開始してブレークポイントを追加してからブレークポイントを使用不可にすると、ブレークポイントがまだ使用可能のままになります。 この問題を回避するには、新しいデバッグ・セッションを開始する時にまずすべての古いブレークポイントを除去し、それから新しいブレークポイントを追加してください。
. 複数のデータ開発プロジェクトで作業している場合、ストアード・プロシージャーをデバッグしようとすると「ストアード・プロシージャーの PROCNAME が見つかりません。プロシージャーはワークスペースから削除された可能性があります」または「ソースが見つかりません」というエラーが表示されることがあります。
. Java ストアード・プロシージャーのデバッグ・セッションの終了直後に SQL ストアード・プロシージャーをデバッグすると、デバッガーが「ユーザー定義関数 ... がユーザーにより中止されました」という内容のメッセージを表示する場合があります。この問題を回避するには、SQL ストアード・プロシージャーのデバッグを再試行してください。
データ・コア機能:
. ALIAS、MQT、NICKNAME、および SYNONYM はラウンドトリップ・エンジニアリング中にはサポートされるようになりましたが、EJB マッピング・プロセスではサポートされません。
. MySQL 4.1 への限定サポート: 固有索引、自動増分列、NULL およびバイナリーの列デフォルト値のプロパティーがプロパティー・ビューで正しく表示されません。また、C プロシージャーおよび関数はサポートされていません。. トリガー、チェック制約、およびビューは Cloudscape(TM) v5.1 ではサポートされていません。Cloudscape v5.1 のトリガーおよびチェック制約はデータベース・エクスプローラーには表示されません。 Cloudscape v5.1 のビューは、プロパティー・ビューの SQL 本文からなくなっています。 DDL を生成したり、Cloudscape v5.1 のトリガー、チェック制約、ビューをリバース・エンジニアリングすることはできません。