首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2008

SQL Server 2008 透過 Linked Server 操作 MySQL 完整實作

     編輯:SQL Server 2008

環境準備

  • SQL Server 2008
  • MySQL 5.1.36 (資料庫 Test、資料表 TestTable)
  • MySQL ODBC 5.1 Driver 已安裝於 SQL Server 主機

建立 MySQL 測試表

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

MySQL 測試表結構

建立 Linked Server (GUI 或 T-SQL)

GUI 方式

  1. SSMS → 伺服器物件 → 連結的伺服器 → 右鍵 **新增連結的伺服器**。
  2. 設定:
    連結的伺服器:MYSQLLINK
    伺服器類型:其他資料來源
    提供者:Microsoft OLE DB Provider for ODBC Drivers
    產品名稱:MySQL 主機位址 (如 localhost)
    提供者字串:Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=test;User=root;Password=root;Option=3;
  3. 安全性頁籤 → 設定遠端登入對應。
    Linked Server 一般頁籤 Linked Server 提供者字串 Linked Server 建立完成

T-SQL 方式

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;'; GO

EXEC master.dbo.sp_addlinkedsrvlogin
    @rmtsrvname = N'MYSQLLINK', @useself = N'False',
    @locallogin = N'localhost', @rmtuser = N'root', @rmtpassword = N'root'; GO

透過 OPENQUERY 操作 MySQL

OPENQUERY (LinkedServer, 'SQL') 將查詢傳遞至遠端執行,支援 SELECT/INSERT/UPDATE/DELETE。

-- 查詢
SELECT * FROM OPENQUERY(MYSQLLINK, 'SELECT * FROM testtable');

-- 新增
INSERT INTO OPENQUERY(MYSQLLINK, 'SELECT * FROM testtable')
SELECT 1, 'Peter', 30;

-- 修改
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