2011-03-23 82 views
1

我非常高興被迫從舊系統導入數據到我們的新系統。舊系統使用MySQL,新系統使用MS SQL Server。不幸的是,我只能訪問MySQL數據庫中的數據轉儲(.sql)。基本上我需要能夠創建一個C#進程,它將從.sql文件中導出所有記錄並將它們保存到我們的新數據庫中。有二進制圖像和視頻保存在MySQL數據庫,但我想一旦我開始解析.sql文件,我可以弄清楚。ASP.NET 4 C# - 導入MySQL數據轉儲

有沒有關於如何使用C#連接和成功解析.sql MySQL數據轉儲的示例代碼?我將ASP.NET放在了標題中,因爲這正是我用來構建網站的標題,但我相信這將需要一個夜間過程(它們保留舊系統,並且需要每晚導入)。

如果在另一個堆棧溢出問題中涉及這個問題,請指出我的方向。我在最初的搜索中沒有找到任何東西。

感謝您的幫助!

+0

難道你不能直接導入到SQL服務器,並在需要時使用T-SQL處理表? – laurent 2011-03-23 02:21:08

+0

也看看SSIS(http://msdn.microsoft.com/en-us/library/ms141026.aspx) – 2011-03-23 09:15:21

+0

不幸的是,沒有。我需要在導入每條記錄後發送電子郵件,並導出嵌入到表格中的圖像和/或視頻。一旦我解析文件,導出圖像和/或視頻不應該太困難。 – Mike 2011-03-23 14:42:58

回答

0

使用compatibility option set to mssql運行MySQL轉儲。生成的轉儲文件只是一個創建所需對象和批量插入數據的腳本。使用--compatible=mssql選項,您應該可以在Microsoft SQL Management Studio中運行該腳本(假設它不是太大)。例如:

mysql -u username -p -h localhost --compatible=mssql DATA-BASE-NAME < data.sql 

然後,如果有必要,您可以每晚作爲一個cron作業運行。