この項目では、EJBDEPLOY の問題に関するトラブルシューティング情報を提供しています。
DSNT408I SQLCODE = -613, ERROR: THE PRIMARY KEY OR A UNIQUE CONSTRAINT IS TOO LONG OR HAS TOO MANY COLUMNS DSNT418I SQLSTATE = 54008 SQLSTATE RETURN CODEこの問題は、2 つの関連する Bean 用に作成された 1 次キーが、 ストリングになっている 1 次キーを持つ場合に発生する可能性があります。 この結果、長さの合計が 500 になる 2 つの可変長 (250) 1 次キーからなる複合が作成されます。 これは、DB2 for z/OS バージョン 7.x での最大値である 254 を超えます。
EJBDEPLOY_JVM_OPTIONS
EJBDEPLOY_JVM_OPTIONS プロパティーを設定して、 EJB (ejbdeploy.sh) をデプロイするコードに渡される Java 仮想マシン (JVM) オプションをオーバーライドします。 このプロパティーを、以下のロケーションのいずれかに設定します。 deploymentmanager/bin/setupCmdLine.sh または appServerHome/bin/setupCmdLine.sh
export EJBDEPLOY_JVM_OPTIONS="-Xms128m -Xmx512m"
1 次キー・フィールドのデータベース列へのマッピングでは、キー値を変換するのにコンバーターが使用される場合があります。 コンテナー管理パーシスタンス (CMP) Bean がその 1 次キーをマップするのにコンバーターを使用し、その Bean が、相手側の Bean が外部キーを保持しているという関係を持つ場合、その外部キーのマッピングではコンバーターが使用されません。
Java datatype1 から Database datatype2 までに型マッピングが定義されていません。ランタイム中に、アプリケーションが関係の相手側に CMP Bean を検出しませんでした。
この制限を回避するためには、独自の外部キーをデータベース表に作成し、関係の相手側のエンタープライズ Bean 上の 1 次キー用に定義されたものと同じコンバーターを使用するマッピングを作成します。