如何把数据库从sql变成mysql_如何将数据库从SQL Server迁移到MySQL
一、遷移Database Schema。
首先使用Sybase Powerdesigner的逆向工程功能,逆向出SQL Server數(shù)據(jù)庫(kù)的物理模型。具體操作是在Powerdesigner中選擇“File”,“Reverse Engine”再選擇Database,將DBMS選擇為SQL Server,如圖:
然后選擇數(shù)據(jù)源,也就是要具體連接到的SQL Server數(shù)據(jù)庫(kù)服務(wù)器,然后選擇要逆向的數(shù)據(jù)庫(kù)名,比如選中“WSS_Content_80”如圖所示:
單擊確定即可生成物理模型圖:
然后單擊“Database”菜單下的Change Current DBMS修改當(dāng)前的DBMS,改為MySQL 5.0,
單擊確定后即可生成MySQL的物理模型 然后單擊“Database”菜單下的“Generate Database”生成數(shù)據(jù)庫(kù)腳本文件。
接下來(lái)是手工修改下生成的腳本的內(nèi)容。
將其中的dbo.全部替換成空
將create user這樣的語(yǔ)句刪除掉。
如果有些字符在MySQL中是關(guān)鍵字,那么必須使用“`”(鍵盤上數(shù)字1左邊那個(gè)符合)符合框起來(lái)。
加上MySQL所需要的存儲(chǔ)引擎比如每個(gè)建表語(yǔ)句后跟上:
ENGINE = INNODB CHARACTER SET utf8 COLLATE utf8_general_ci;
將生成的腳本在MySQL中去運(yùn)行一次即可創(chuàng)建數(shù)據(jù)庫(kù)。
二、遷移數(shù)據(jù)內(nèi)容
數(shù)據(jù)內(nèi)容只能通過(guò)生成INSERT語(yǔ)句的方式來(lái)做。
首先使用SSMS的“生成腳本”功能(在數(shù)據(jù)庫(kù)上右鍵,選擇“任務(wù)”“生成腳本”選項(xiàng)),可以為SQL Server數(shù)據(jù)庫(kù)中的數(shù)據(jù)生成插入腳本。
首先選擇要遷移數(shù)據(jù)的表,這里我們?nèi)x所有的表:
然后單擊下一步,選擇將腳本保存到新的查詢窗口:
單擊“高級(jí)”選項(xiàng),在高級(jí)選項(xiàng)窗口中選擇“要編寫腳本的數(shù)據(jù)的類型”為僅限數(shù)據(jù):
然后“確定”再下一步下一步即可生成INSERT腳本文件。
修改生成的腳本文件,主要有以下幾項(xiàng)修改:
使用批量替換的方式去掉[ ]這是SQL Server的符合,在MySQL中不用這個(gè)。
使用批量替換的方式去掉dbo.
有些單詞在MySQL中是關(guān)鍵字的,那么需要使用“`”引起來(lái)。
關(guān)于Datetime類型的數(shù)據(jù),需要手工修改下,SQL Server默認(rèn)生成的是這樣的語(yǔ)句,在MySQL中是沒(méi)辦法解析的:
CAST(0x00009EEF00000000 AS DateTime)
為每一行添加一個(gè);表示一個(gè)插入語(yǔ)句結(jié)束。這個(gè)分號(hào)在SQL Server中可以不需要,但是在MySQL中是必須的。簡(jiǎn)單的方法是使用高級(jí)的文本編輯器(比如Notepad++),將\r\n替換為;\r\n即可。
本文轉(zhuǎn)自深藍(lán)居博客園博客,原文鏈接:http://www.cnblogs.com/studyzy/archive/2011/06/13/2079758.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的如何把数据库从sql变成mysql_如何将数据库从SQL Server迁移到MySQL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: VS2010MFC - TeeChart
- 下一篇: Teechart动态设计方法