数据库测试环境 1. SQL Server 2008 2. MySQL 5.1.36 Database: Test Table: TestTable 创建MySQL 测试表 <div class="codetitle"><a style="CURSOR: pointer" data="33359" class="copybut" id="copybut33359" onclick="doCopy('code33359')"> 代码如下:
<div class="codebody" id="code33359"> 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;
在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;