程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 通過SQL Server 2008 操作 MySQL

通過SQL Server 2008 操作 MySQL

編輯:關於SqlServer


  數據庫測試環境

  1. SQL Server 2008

  2. MySQL 5.1.36

  Database: Test

  Table: TestTable

  創建MySQL 測試表

CREATE TABLE `testtable` ( 
 `id` int(11) DEFAULT NULL, 
 `name` varchar(50) DEFAULT NULL, 
 `age` int(11) DEFAULT NULL 
)

  創建Link Server

  下面來創建一個與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 直接創建:

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'

  創建完成後便會看到下圖中的鏈接:

  操作MySQL 數據庫

  在SQL Server 中通過OPENQUERY 函數對MySQL 進行操作,該函數包含兩個參數:第一個為已創建的鏈接名稱,第二個為SQL 查詢,它將返回對Linked Server 的讀取或修改操作。如下操作示例:

OPENQUERY ([LinkedServer], 'SELECT * FROM [RemoteTable]')

  向TestTable 中插入測試數據:

insert into openquery(MySQLlink,'select * from testtable') 
select 1,'Peter',30;

  查詢數據:

select * from openquery(MySQLlink,'select * from testtable');

  修改數據:

update openquery(MySQLlink,'select * from testtable') 
set name='Jone' where id=1;

  刪除數據:

delete from openquery(MySQLlink,'select * from testtable') 
where id=1;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved