2012-11-12 119 views
1

我正在處理從MSSQL數據庫到H2數據庫的數據(僅用於表格的數據)轉換。數據模型是相同的,除了一些小的變化。將數據從MSSQL導出到H2數據庫

我的第一個想法是從表中導出數據作爲INSERT INTO語句(like here),並在對H2數據庫進行一些調整後運行這些語句。但我遇到了日期時間問題,MSSQL導出這個數字鑄像日期時間:

CAST(0x000092AC00000000 AS DateTime) 

而H2似乎並不理解這一點。有沒有辦法讓這個解決方案工作(迫使SSMS以不同的方式導出日期時間,以便H2可以讀取它)?我正在使用SSMS 2008 R2。 我也接受其他建議來解決這個問題。

+1

有兩個問題:H2不支持這樣的十六進制數,你需要寫'CAST(X'000092AC00000000'AS LONG)'將十六進制值轉換爲long(bigint)。第二個問題是H2不支持將日期轉換爲數字。我想知道這個數字是什麼意思? –

回答

0

您是否嘗試過打開數據庫副本?
http://sourceforge.net/projects/opendbcopy/

+0

感謝您的回答,我實際上設法創建了一個簡單的.NET應用程序,它從MSSQL中選擇數據,然後爲H2數據庫創建一批插入。這是一個非常難看的解決方案,但它對我來說工作得很好。 – kwitee

+0

Open DB Copy不支持H2 –

+0

它的確如此。 H2不包含在OpenDB Copy隨附的數據庫列表中。你必須自己添加它。請閱讀OpenDB Copy用戶手冊。 – jschiavon

相關問題