1

データベース 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 でゼロから再作成されます。

なぜこれが起こるのか分かりますか?

前もって感謝します、

ルイーザ・ブラドゥスカ

4

1 に答える 1