最近因工作需要,需要將mysql資料庫遷移到sqlserver,只是資料遷移,因此相對比較簡單。對於mysql遷移到sqlserver,我們需要使用到mysql odbc驅動,然後透過sqlserver連結伺服器的方式來存取mysql。具體見下文描述。
源:RHEL 6.5 + MySQL 5.6.26
目標: Windows 7 64 + SQLserver 2014
//m.sbmmt.com/
本次安裝下載的檔案為:mysql- connector-odbc-5.2.7-winx64.msi 安裝過程略
對於mysql的訪問,我們需要配置ODBC驅動,來使得SQLserver能夠識別。
開啟控制台,管理工具,資料來源(ODBC),選擇System DSN選項卡,點選新增,選擇MySQL ODBC 5.2 Unicode
Driver,如下截圖:
以下設定連線參數,指定資料來源名稱,IP位址及連接埠號,如下圖:
使用下面的代码添加链接服务器,注意替换相应的字符。USE masterGOEXEC sp_addlinkedserver @server = 'MySQL', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'MySQL_SRC'GOEXEC sp_addlinkedsrvlogin @rmtsrvname='MySQL',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='mysql'GO
SELECT * FROM OPENQUERY (MySQL ,'select * from testdb.tt) id dt1 2016-03-18 10:48:06.00000002 NULL3 NULL
一、 遷移環境最近因工作需要,需要將mysql資料庫遷移到sqlserver,只是資料遷移,因此比較簡單。對於mysql遷移到sqlserver,我們需要使用到mysql odbc驅動,然後透過sqlserver連結伺服器的方式來存取mysql。具體見下文描述。USE master GO CREATE DATABASE material --创建目标数据库GO可以使用以下语句查询需要迁移的schema下的表 SELECT * FROM OPENQUERY (MySQL ,'select * from information_schema.TABLES where table_schema=''material''' ) 将所有表内容插入到SQLserver,如下方式SELECT * INTO material.dbo.ic_goods FROM OPENQUERY (MySQL ,'select * from material.ic_goods');登入後複製
二、準備遷移環境1、下載及安裝ODBC驅動目標: Windows 7 64 + SQLserver 2014
源:RHEL 6.5 + MySQL 5.6.26
//m.sbmmt.com/本次安裝下載的檔案為:mysql-
開啟控制台,管理工具,資料來源(ODBC),選擇System DSN選項卡,點選新增,選擇MySQL ODBC 5.2 Unicode2、配置ODBC驅動
對於mysql的訪問,我們需要配置ODBC驅動,來使得SQLserver能夠識別。
Driver,如下截圖:
以下配置連接參數,指定資料來源名稱,IP位址及連接埠號碼,如下圖:
使用下面的代码添加链接服务器,注意替换相应的字符。 USE masterGOEXEC sp_addlinkedserver @server = 'MySQL', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'MySQL_SRC'GOEXEC sp_addlinkedsrvlogin @rmtsrvname='MySQL',@useself='false',@locallogin='sa',@rmtuser='root',@rmtpassword='mysql'GO
SELECT * FROM OPENQUERY (MySQL ,'select * from testdb.tt) id dt1 2016-03-18 10:48:06.00000002 NULL3 NULL
USE master GO CREATE DATABASE material --创建目标数据库GO可以使用以下语句查询需要迁移的schema下的表 SELECT * FROM OPENQUERY (MySQL ,'select * from information_schema.TABLES where table_schema=''material''' ) 将所有表内容插入到SQLserver,如下方式 SELECT * INTO material.dbo.ic_goods FROM OPENQUERY (MySQL ,'select * from material.ic_goods');