一、在SQL SERVER服務器上安裝MYSQL ODBC驅動;mysql
驅動下載地址:http://dev.mysql.com/downloads/connector/odbc/sql
二、安裝好後,在管理工具-ODBC數據源-系統DSN-添加-選擇 MYSQL ODBC 5.3 Unicode DRIVER-完成數據庫
會跳出來MYSQL鏈接參數安全
Data Source Name:數據源名稱服務器
Decription:描述,隨便寫ide
Server:MYSQL服務器的IP工具
Port:MYSQL的端口,默認的是3306.能夠改的.post
User:鏈接帳號(在mysql上受權的帳號,同時給予相應權限)測試
Password:密碼編碼
Database:選擇連接的數據庫
填好以後,點下test.成功了則會如圖跳出提示框.
3,打開SQL數據庫,找到連接服務器.建立連接服務器,你們都會的,因此我就把參數發一下.如圖,常規選項的其餘的就不用填了.肯定就好了.
這裏,須要注意:訪問接口要選擇「Microsoft OLE DB Provider for ODBC Drivers」。
數據源:選擇以前已建立好的ODBC接口。
而後在安全性中 選擇使用此安全上下文建立鏈接 填寫MYSQL 數據庫的登錄名和密碼
四、sql 語句使用
--查詢 SELECT * FROM OPENQUERY(MYSQL_DBLINK, 'select * from tableName where id=''1''') --修改 UPDATE OPENQUERY(MYSQL_DBLINK, 'select * from tableName where id=''1''') set cname='測試' --or UPDATE OPENQUERY(MYSQL_DBLINK, 'select * from tableName ') set cname='測試' where id=1 --添加 INSERT INTO OPENQUERY(MYSQL_DBLINK, 'select * from tableName where 1=0')values ('xx','xx','xx'); --刪除 DELETE FROM OPENQUERY(MYSQL_DBLINK, 'select * from tableName where id=''1''')
**【注意】在查詢的時候若是出現: 連接服務器 'MYSQL_DBLINK' 的 OLE DB 訪問接口 'MSDASQL' 返回了對列 '[MSDASQL].cname' 無效的數據。
須要在MYSQL ODBC數據源上設置符合你的編碼格式,如圖:
五、OPENQUERY用法
對給定的連接服務器執行指定的傳遞查詢。該服務器是 OLE DB 數據源。OPENQUERY 能夠在查詢的 FROM 子句中引用,就好象它是一個表名。OPENQUERY 也能夠做爲 INSERT、UPDATE 或 DELETE 語句的目標表進行引用。但這要取決於 OLE DB 訪問接口的功能。儘管查詢可能返回多個結果集,可是 OPENQUERY 只返回第一個。
Transact-SQL 語法約定
OPENQUERY ( linked_server ,'query' )
表示連接服務器名稱的標識符。
在連接服務器中執行的查詢字符串。該字符串的最大長度爲 8 KB。
OPENQUERY 不接受其參數的變量。
在 SQL Server 2000 和更高版本中,OPENQUERY 不能用於對連接服務器執行擴展存儲過程。可是,經過使用四部分名稱,能夠在連接服務器上執行擴展存儲過程。例如:
EXEC SeattleSales.master.dbo.xp_msver
任何用戶均可以執行 OPENQUERY。用於鏈接到遠程服務器的權限是從爲連接服務器定義的設置中獲取的。