通過SQL Server操作MySQL的步驟和方法

來源:互聯網
上載者:User

在多種資料庫環境下,經常會遇見在不同資料庫之間轉換資料和互相進行操作的情況。以下簡要介紹下用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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.