我想用SQL Server的導入導出嚮導(SQL Server 2008 R2)導出SQL Server數據庫。數據庫模式在目標PostgreSQL數據庫中得到良好創建,大部分數據也一樣。它只有當我嘗試導出具有第一行中的NULL
值的列崩潰:導出到PostgreSQL時SQL Server導入和導出嚮導出錯
Error 0xc020844b: Data Flow Task 22: An exception has occurred during data insertion, the message returned from the provider is: Kan een object van het type System.Int32 niet converteren naar het type System.Char[]. (SQL Server Import and Export Wizard)
遺憾的是,相關的例外是荷蘭人,但它說,它不能轉換System.Int32
類型的對象到System.Char[]
。原始SQL Server架構中的列的類型爲生成的PostgreSQL數據庫中的int
和integer
。
這隻發生在第一行的列值爲NULL
。我認爲它試圖根據列的第一個值推斷數據的類型,如果第一個值是NULL
,則默認爲System.Char[]
。有沒有什麼方法可以改變這種行爲,並讓數據的類型以與PostgreSQL列的類型相同的方式被推斷(因爲它正確地)?
您可以嘗試用SQL服務器中的虛擬值替換所有空值,並在遷移後將其替換回來。 – 2012-04-18 13:12:24
@ErwinBrandstetter是的,我可以做到這一點,但我希望有更簡單的方法。 – 2012-04-18 13:30:30
你可以試試看看是否確實是導致問題的原因。 – 2012-04-18 14:02:15