數(shù)據(jù)庫測試環(huán)境
1. SQL Server 2008
2. MySQL 5.1.36
Database: Test
Table: TestTable
創(chuàng)建MySQL 測試表
復(fù)制代碼 代碼如下:
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)建:
復(fù)制代碼 代碼如下:
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ù):
復(fù)制代碼 代碼如下:
update openquery(mysqllink,'select * from testtable')
set name='Jone' where id=1;
刪除數(shù)據(jù):
復(fù)制代碼 代碼如下:
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
作者: Gnie
您可能感興趣的文章:- SqlServer2008 數(shù)據(jù)庫同步的兩種方式(發(fā)布、訂閱使用方法)
- sqlserver2008查看表記錄或者修改存儲過程出現(xiàn)目錄名無效錯誤解決方法
- win2008 r2 安裝sqlserver 2000問題的解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- SQLServer2005與SQLServer2008數(shù)據(jù)庫同步圖文教程
- SQLserver 2008將數(shù)據(jù)導(dǎo)出到Sql腳本文件的方法
- SQL Server 2008 評估期已過怎么解決