通过SQL Server 2008 访问MySQL
?????? 在公司中經(jīng)常會遇到部署多種數(shù)據(jù)庫環(huán)境的情況,對于開發(fā)人員來說經(jīng)常在不同數(shù)據(jù)庫之間轉(zhuǎn)換確實有些繁瑣,本篇將介紹從SQL Server 操作MySQL 數(shù)據(jù)庫的方法。
數(shù)據(jù)庫測試環(huán)境
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)建Linked 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)參考資料
http://dev.mysql.com/downloads/mirror.php?id=376346
http://www.connectionstrings.com/mysql#p21
總結(jié)
以上是生活随笔為你收集整理的通过SQL Server 2008 访问MySQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加强路由器的安全访问控制
- 下一篇: 创建一个打不开删不掉的文件夹