通過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 點(diǎn)擊“New Linked Server”:

Linked server 鏈接名稱
Server Type 選擇“Other data source”
Provider 選擇“Microsoft OLE DB Provider for ODBC Drivers”
Product name 填寫MySQL 主機(jī)地址
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 進(jìn)行操作,該函數(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)文章
安裝SQL Server 2008時(shí) 總是不斷要求重啟電腦的解決辦法
本篇文章是對安裝SQL Server 2008時(shí),總是不斷要求重啟電腦的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Sql Server 2008數(shù)據(jù)庫新建分配用戶的詳細(xì)步驟
當(dāng)一個項(xiàng)目完成后,為了數(shù)據(jù)安全,總會對該項(xiàng)目的數(shù)據(jù)庫分配一個用戶,應(yīng)該說總會創(chuàng)建一個用戶來管理這個數(shù)據(jù)庫,并且這個用戶只能管理這個數(shù)據(jù)庫,絕對不要使用sa用戶2017-10-10
SQL Server 2008中的代碼安全(三) 通過PassPhrase加密
本文主要涉及EncryptByPassPhrase和DecryptByPassPhrase函數(shù)進(jìn)行通行短語(PassPhrase)加密。2011-06-06
SQL Server 2008 阻止保存要求重新創(chuàng)建表的更改問題的設(shè)置方法
不是很理解為什么在2008中會加入阻止保存要求重新創(chuàng)建表的更改這個選項(xiàng).癥狀表現(xiàn)為修改表結(jié)構(gòu)的時(shí)候會"阻止"你.而且我遇到的情況是居然有的時(shí)候阻止你,有的時(shí)候不阻止你,摸不到頭腦.2012-05-05
MyEclipse 配置SQL Server 2008數(shù)據(jù)庫驅(qū)動操作步驟
本篇文章小編為大家介紹,MyEclipse 配置SQL Server 2008數(shù)據(jù)庫驅(qū)動操作步驟。有需要的朋友參考下2013-04-04
解決SQL Server 2008 不能使用 “.” local本地連接數(shù)據(jù)庫問題
這篇文章主要介紹了解決SQL Server 2008 不能使用 “.” local本地連接數(shù)據(jù)庫問題,需要的朋友可以參考下2018-07-07
SQL Server 2008 Express 及 Management Studio Express下載安裝配置教程
這篇文章主要講如何一步步從下載、安裝、配置 SQL Server 2008 Express 和 SMSS 到最后 使用 SMSS 連接本地的數(shù)據(jù)庫服務(wù),需要的朋友可以參考下2020-08-08
SQL Server2008r2 數(shù)據(jù)庫服務(wù)各種無法啟動問題的解決辦法(詳解)
這篇文章主要介紹了SQL Server2008r2 數(shù)據(jù)庫服務(wù)各種無法啟動問題的解決辦法(詳解)的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
通過SQL Server 2008數(shù)據(jù)庫復(fù)制實(shí)現(xiàn)數(shù)據(jù)庫同步備份
下面通過一個示例和大家一起學(xué)習(xí)一下如何部署SQL Server 2008數(shù)據(jù)庫復(fù)制2014-08-08

