2
我正在使用Oracle 11g XE。我有一個模式,其中包含一些具有虛擬列的表。虛擬列在架構中看起來很好,並按預期行事。使用虛擬列導出架構
我出口該模式的轉儲使用這個命令:
expdp SYSTEM/SYSTEM schemas=TEST_SCHEMA dumpfile=TEST_SCHEMA.dpdmp
,並使用此命令將其導入到另一個數據庫:
impdp SYSTEM/system SCHEMAS=TEST_SCHEMA DIRECTORY=dmpdir DUMPFILE=TEST_SCHEMA-2016.DPDMP TABLE_EXISTS_ACTION=replace LOGFILE=TEST_SCHEMA.log
進口了罰款,但是當我檢查了所有的虛擬他們被打破的列。該列的DATA_TYPE是錯誤的,它是NUMBER
而不是VARCHAR(36)
,並且原始源模式中的DATA_DEFAULT函數不在導入的模式中,它只是空值,當我查看實際行時,該虛擬中的值列是'44',它是該列的列標識。
有誰知道爲什麼虛擬列沒有正確遷移?我在輸出模式時是否需要指定某些內容?或者這是一個Oracle錯誤?
感謝您的答覆運行導入戴夫,但我不知道這是否是這裏的問題。我沒有創建自己的函數,我只是使用UPPER函數,而不是一個真正的用戶定義函數,所以我認爲這應該工作表創建良好? – Stackman
此外,這些錯誤似乎與人們在導入時遇到錯誤的問題有關。我從來沒有在導入時遇到任何這些錯誤。 – Stackman