通过SQL Server操作MySQL的步骤和方法
在多種數據庫環境下,經常會遇見在不同數據庫之間轉換數據和互相進行操作的情況。以下簡要介紹下用SQL Server操作MySQL的步驟和方法。
1 操作前的準備
1.1 安裝MySQL驅動
想要在SQL Server中操作MySQL,首先要在SQL Server所在的服務器上安裝MySQL的驅動。MySQL的驅動安裝包在MySQL的官網上可以下載到,我下載到的安裝包名為:mysql-connector-odbc-5.1.8-winx64,適用于64位的Windows服務器。雙擊安裝包,直接[next]即可安裝成功。安裝成功后,在運行中輸入[odbcad32.exe]打開[ODBC數據源管理器],點擊[驅動程序]選項,可看到[MySQL ODBC 5.1 Driver]已安裝成功。
1.2 建立ODBC數據源
安裝好MySQL的驅動后就可以在SQL Server所在的服務器上建立指向MySQL服務器的ODBC數據源。
在[ODBC數據源管理器]中選擇[系統 DSN]選項卡,點擊[添加]按鈕。
選擇[MySQL ODBC 5.1 Driver],點擊[完成]。
在彈出的配置框中填寫數據源名、MySQL服務器IP、端口、用戶名和密碼,點擊[ok],ODBC數據源創建成功。
1.3 建立鏈接服務器
建立鏈接服務器有兩種方式,可以通過SQL Server Management Studio中的向導建立,也可以直接使用SQL語句建立。
1.3.1 使用向導建立鏈接服務器
在SQL Server Management Studio中連接上SQL Server,然后在[服務器對象]->[鏈接服務器]上點擊右鍵,選擇[新建連接服務器(N)…]。
在[鏈接服務器]框中填寫自定義的鏈接服務器名稱,[服務器類型]選擇[其他數據源],[訪問接口]選擇”Microsoft OLE DB Provider for ODBC Drivers”,[產品名稱]跟鏈接服務器名稱填寫成一樣的,[數據源]填寫剛才創建的ODBC數據源,點擊[確定],鏈接服務器創建成功。
其實,也可以不建立ODBC數據源,直接建立鏈接服務器的,只要把[數據源]留空,而在[訪問接口字符串]中填寫鏈接字符串
“Driver={MySQL ODBC 5.1 Driver};Server=192.168.0.21;Database=test; User=root;Password=rootPassword;Option=3;”即可。如下圖:
1.3.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
2 通過SQL Server操作MySQL
MySQL數據庫test 中的數據表TestTable的結構如下:
?
操作該表的方法如下:
2.1 查詢MySQL中的數據
select * from openquery(TestMySQL,'select * from test.TestTable');
2.2 向MySQL表中插入數據
insert into openquery(TestMySQL,'select * from test.TestTable')
select 1,'TestName';
2.3 刪除MySQL表中的數據
delete from openquery(TestMySQL,'select * from test.TestTable');
2.4 修改MySQL表中的數據
update openquery(TestMySQL,'select * from test.TestTable')
set TestName='ABCDE' where TestID=1;
?
摘自 http://blog.csdn.net/yongsheng0550/article/details/6598252
轉載于:https://www.cnblogs.com/xd502djj/archive/2013/05/28/3104191.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的通过SQL Server操作MySQL的步骤和方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript自动设置IFrame
- 下一篇: Easy UI中dategrid的get