mysql數據庫移植sqlserver數據庫

    今天和你們分享一下如何將本身的mysql數據庫移植到sqlserver數據庫中來。具體的作法以下:mysql

    一、首先,確保本身的電腦中安裝了mysql數據庫和sqlserver數據庫。
sql

    二、安裝MySQL ODBC驅動:爲MySQL安裝Connector/ODBC驅動。在此須要注意的一點是Connector/ODBC驅動與MySQL Server的版本對應問題,若是本身電腦中已經存在該odbc驅動便可沒必要按照。數據庫

    三、建立系統DSN建立系統DSN步驟以下:開始->設置->控制面板->管理工具->數據源(ODBC),按該流程打開ODBC數據眼管理器,如圖所示。服務器

四、切換至系統DSN選項卡,點擊添加按鈕。彈出建立新數據源對話框,選擇MySQL ODBC 5.3 AANSI Driver驅動程序,點擊完成按鈕。(注意說明:選擇本身電腦中安裝的odbc版本,不必定是個人這個版本)ide

五、在彈出的配置框中填寫數據源名、MySQL服務器IP、端口、用戶名和密碼,點擊[ok],ODBC數據源建立成功。(說明一下相關的字段說明:第一個是自定義的dns的名稱,第二個是相關的描述能夠不寫,第三個是服務器的地址,是本地服務器就寫localhost或者127.0.0.1或者本地的電腦名稱;若是是遠程服務器就須要寫對應的地址,3306是默認的mysql端口,通常不用更改,下面的三個分別是mysql數據庫的登陸名、登陸密碼以及須要建立數據源的mysql數據庫中的數據庫名稱 。輸入完成後上面的內容,點擊test來測試一下是否鏈接成功,出現圖中即表示成功。)工具

六、創建連接服務器sqlserver

創建連接服務器有兩種方式,能夠經過SQL Server Management Studio中的嚮導創建,也能夠直接使用SQL語句創建。測試

6.1 使用嚮導創建連接服務器

在SQL Server Management Studio中鏈接上SQL Server,而後在[服務器對象]->[連接服務器]上點擊右鍵,選擇[新建鏈接服務器(N)…]。spa

在[連接服務器]框中填寫自定義的連接服務器名稱,[服務器類型]選擇[其餘數據源],[訪問接口]選擇」Microsoft OLE DB Provider for ODBC Drivers」,[產品名稱]跟連接服務器名稱填寫成同樣的,[數據源]填寫剛纔建立的ODBC數據源,點擊[肯定],連接服務器建立成功。.net

其實,也能夠不創建ODBC數據源,直接創建連接服務器的,只要把[數據源]留空,而在[訪問接口字符串]中填寫連接字符串

「Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;」便可。以下圖:

6.2 使用SQL語句建立連接服務器

可使用如下SQL語句建立連接服務器,其中使用了ODBC數據源:

EXEC master.dbo.sp_addlinkedserver

@server = N'TestMySQL', --連接服務器名

@srvproduct = N'TestMySQL', --產品名稱

@provider = N'MSDASQL', --訪問接口

@datasrc = N'TestServer' --數據源名稱

 

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TestMySQL',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO

 

也可使用如下SQL語句建立連接服務器,其中沒有使用ODBC數據源,使用的是訪問接口字符串:

EXEC master.dbo.sp_addlinkedserver

@server = N'TestMySQL', --連接服務器名

@srvproduct = N'TestMySQL', --產品名稱

@provider = N'MSDASQL', --訪問接口

@provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;' --訪問接口字符串

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'TestMySQL',@useself=N'True',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL

GO

七、經過上面的步驟已經能夠訪問mysql的數據庫了,如今經過sql語句將mysql複製過來,具體的操做以下代碼所示:

SELECT * INTO 本身的在sql中新建一個對應的數據庫的數據庫名稱.dbo.對應的數據庫的數據庫表名稱
FROM openquery(創建DNS數據源所自定義的名稱, 'SELECT * FROM mysql數據庫的名稱.mysql數據庫中對應的數據表名稱')
例如:
SELECT * INTO takeout.dbo.takeout_region
FROM openquery(MYSQL, 'SELECT * FROM takeout.takeout_region')

    須要將每一張表都經過該sql語句來進行復制到sqlserver數據庫,記住每一張表只須要更改對應的名稱便可。

八、在整個移植的過程當中若是出現7303錯誤,找不到對應的驅動或者數據源,或者數據庫結構不一致的時候,可能建立的系統DNS版本不一致形成的問題,對於這種問題能夠經過換成32位的數據源或者換成64位的數據源來進行操做一次,便可解決該問題。

九、還有一些其餘的相爲:http://ask.csdn.net/questions/157488 ;http://blog.csdn.net/xiaoliouc/article/details/13511999

相關文章
相關標籤/搜索