2009-08-13 118 views
0

我正在爲我的數據庫從MSSQL Express Edition轉換爲Oracle。 表中的行數約爲500萬。 在MSSQL方面,我使用LINQ to SQL來選擇數據。 我會用同樣的方法用於Oracle,但不幸的是在.NET中沒有LINQ to Oracle。 我知道有開源的LINQ to Oracle實現,但我想我會使用簡單的System.Data.OracleClient命名空間。 我的問題是如何將行插入到Oracle數據庫一次?如果我要每行調用ExecuteQuery(),恐怕會花費大量的時間。 那麼我的問題有沒有優雅的解決方案? 謝謝。C#,一次向數據庫插入多條記錄

回答

3

最簡單的方法是放棄該程序並使用SQL Server Integration Services。您可以直接從MSSql服務器鏈接到Oracle數據庫並推送數據。

+0

第二,您甚至可以存儲包來運行它再次如果它需要在幾個數據庫上運行 – 2009-08-13 12:42:18

+0

好的方法,但不幸的是我有SQL Server Express版本 – Sorantis 2009-08-13 12:49:45

+0

對於這種數據傳輸的目的,你可以使用一個完整的Sql Server的評估或$ 50的開發版本。許可問題可能會使事情變得簡單,但需要考慮。 您也可以查看其他可能爲您生成插入腳本的第三方應用程序,例如Red Gate工具。你的目標是Oracle(Red Gate不支持),但是你最終應該在oracle db上使用一個易於修改的插入腳本來執行vanilla執行。 – 2009-08-13 13:16:39

0

您可以編寫一個Oracle SP並從您的應用程序中調用相同。是否有任何特定的原因/目的,你需要一個單獨的轉換器應用程序?您可以創建從Oracle到SQL Server的dblink,然後使用ODBC連接,然後填充數據,至於時間/日期格式不匹配,您可以始終使用格式化它們to_char()函數