データベース A: oracle sql exp.exe コマンドを使用して test.dmp を作成します。
exp.exe %CONNECT% FILE=test.dmp LOG=%LOGFILE% DIRECT=Y STATISTICS=NONE
.log ファイルには次のように書かれています。
. . export table TBL_TEST 7000 rows exported (no error!).
バージョン: Oracle Database 11g Enterprise Edition リリース 11.2.0.4.0 - 64 ビット製品
データベース B: imp.exe コマンドで test.dmp をインポートします。
imp.exe %CONNECT% file=test.dmp LOG=%LOGFILE% FULL=Y
.log ファイルに次のエラーが表示されます。
. . importing table TBL_TEST
IMP-00019: row rejected due to ORACLE error 1400
IMP-00003: ORACLE error 1400 encountered
ORA-01400: cannot insert NULL into (TBL_TEST.COLUMN_A)
バージョン:Oracle Database 11g Enterprise Edition リリース 11.2.0.4.0 - 64 ビット製品
TBL_TEST.COLUMN_A 型は NUMBER(1,0)、Nullable=いいえ、DATA_DEFAULT=0 です。
これはどのように可能ですか?データベース A では、列「COLUMN_A」が入力され、非ヌルとして定義されています。すべてのテーブルは、データベース B でゼロから再作成されます。
なぜこれが起こるのか分かりますか?
前もって感謝します、
ルイーザ・ブラドゥスカ