2009-05-20 13 views
1

状況はかなり深刻です。AS400上のDB2には別のテーブルへの外部キーを定義したテーブルがありますので、参照先テーブルの通常のIDを持つレコードを入力します。ツールはすべてうまくいった。db2参照整合性問題

Spring Framework(SQLハンドラ、Webサービス...のみ)を使用するJavaアプリケーションを使用してこの挿入を行うと、jt400.jarのjdbcドライバを使用してPreparedStatementで処理が完了すると問題が発生します。私たちは、「参照整合性チェックに失敗しました」というメッセージを受け取りました。

anyoeに類似の経験がありますか? JTOPENライブラリをアップグレードする必要がありますか?現在、実際のバージョン6.5があります。当社は本番環境で6.3を使用しており、6.5にアップグレードした場合の悪影響を恐れています。

Tomcat(アプリケーションサーバー)を再起動しても意味はありませんが、Linuxボックス(ubuntu 8.10)を再起動しても問題ありません。 DBへの接続はJNDIによって管理されています。

+1

外部制約がすぐに適用されるのか、または遅延が設定されていますか?運用環境で延期する必要はありませんが、間違って設定されている可能性があります。 –

+0

遅延性は、その意味を問わず、7に設定されます。私はそこに質問するためにsomアップデートをしました、私たちはスプリングマッピングを使用せず、むしろテーブルに直接挿入します... –

答えて

0

トランザクション内にあり、入れようとしているデータに矛盾があり、ロールバックが実行される可能性がありますので、間違っているとは見えません。

+0

これは間違いありません。唯一のオペレータは仕事をしている、従業員テーブルのデータはすでに挿入されています。ID 40のemplyeeは、従業員(ID)を参照している列OPERを持つ新しい種類の文書を挿入しています... –

+0

これらの更新を直接JDBC接続で行うには? – ATorras