通過SQLServer 2008 操作 MySQL的方法
1. SQL Server 2008
2. MySQL 5.1.36
Database: Test
Table: TestTable
創(chuàng)建MySQL 測試表
CREATE TABLE `testtable` (
`id` int(11) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
`age` int(11) DEFAULT NULL
)

創(chuàng)建Link Server
下面來創(chuàng)建一個與MySQL交互的鏈接(類似Oracle 的DBLink),在SQL Server 管理器中右鍵Server Objects 目錄下的Linked Servers 點擊“New Linked Server”:

Linked server 鏈接名稱
Server Type 選擇“Other data source”
Provider 選擇“Microsoft OLE DB Provider for ODBC Drivers”
Product name 填寫MySQL 主機地址
Provider String 填寫 Driver={MySQL ODBC 5.1 Driver};Server=ServerName;Database=myDB;
User=myUserName;Password=myPassword;Option=3;

也可以通過TSQL 直接創(chuàng)建:
EXEC master.dbo.sp_addlinkedserver
@server = N'MYSQLLINK',
@srvproduct = N'localhost',
@provider = N'MSDASQL',
@provstr = N'Driver={MySQL ODBC 5.1 Driver};Server=localhost;
Database=test;User=root;Password=root;Option=3;'
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'MYSQLLINK',
@useself = N'False',
@locallogin = N'localhost',
@rmtuser = N'root',
@rmtpassword = N'root'
創(chuàng)建完成后便會看到下圖中的鏈接:
操作MySQL 數(shù)據(jù)庫
在SQL Server 中通過OPENQUERY 函數(shù)對MySQL 進行操作,該函數(shù)包含兩個參數(shù):第一個為已創(chuàng)建的鏈接名稱,第二個為SQL 查詢,它將返回對Linked Server 的讀取或修改操作。如下操作示例:
OPENQUERY ([LinkedServer], 'SELECT * FROM [RemoteTable]')向TestTable 中插入測試數(shù)據(jù):
insert into openquery(mysqllink,'select * from testtable')
select 1,'Peter',30;查詢數(shù)據(jù):
select * from openquery(mysqllink,'select * from testtable');
修改數(shù)據(jù):
update openquery(mysqllink,'select * from testtable')
set name='Jone' where id=1;

刪除數(shù)據(jù):
delete from openquery(mysqllink,'select * from testtable')
where id=1;
相關(guān)參考資料
相關(guān)文章
sqlserver2008鎖表語句詳解(鎖定數(shù)據(jù)庫一個表)
鎖一個SQL表的語句是SQL數(shù)據(jù)庫使用者都需要知道的,下面就將為您介紹鎖SQL表的語句,希望對您學習鎖SQL表方面能有所幫助2013-12-12SQL server 2008 數(shù)據(jù)安全(備份和恢復數(shù)據(jù)庫)
備份和恢復數(shù)據(jù)庫對于數(shù)據(jù)庫管理員來說是保證數(shù)據(jù)安全性的一項重要工作。SQL server 2008提供了高性能的備份和恢復功能,可以實現(xiàn)多種方式的數(shù)據(jù)庫備份和恢復操作,避免了由于各種故障造成的損失而丟失數(shù)據(jù)2012-08-08SQL SERVER 2008 CTE生成結(jié)點的FullPath
SQL SERVER 2008 使用CTE是經(jīng)常的事兒,有時我們想存儲一些冗余數(shù)據(jù),像每個結(jié)點的FullPath。2011-10-10SQL Server 2008打開輸入sa密碼提示無法登陸數(shù)據(jù)庫的解決方法
與 SQL Server建立連接時出現(xiàn)與網(wǎng)絡(luò)相關(guān)的或特定于實例的錯誤,這篇文章主要介紹了SQL Server 2008打開輸入sa密碼提示無法登陸數(shù)據(jù)庫的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07SQL Server2008 R2 數(shù)據(jù)庫鏡像實施手冊(雙機)SQL Server2014同樣適用
這篇文章主要介紹了SQL Server2008 R2 數(shù)據(jù)庫鏡像實施手冊(雙機)SQL Server2014同樣適用,需要的朋友可以參考下2017-04-04安裝SQL Server 2008時 總是不斷要求重啟電腦的解決辦法
本篇文章是對安裝SQL Server 2008時,總是不斷要求重啟電腦的解決辦法進行了詳細的分析介紹,需要的朋友參考下2013-06-06使用Sqlserver事務(wù)發(fā)布實現(xiàn)數(shù)據(jù)同步(sql2008)
事務(wù)的功能在sqlserver中由來已久,因為最近在做一個數(shù)據(jù)同步方案,所以有機會再次研究一下它以及快照等,發(fā)現(xiàn)還是有很多不錯的功能和改進的。這里以sqlserver2008的事務(wù)發(fā)布功能為例,對發(fā)布訂閱的方式簡要介紹一下操作流程,一方面做個總結(jié)備份,一方面與大家進行一下分享和交流2013-03-03