您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

通过SQLServer 2008 操作 MySQL的方法

2024/4/16 13:16:52发布5次查看
在公司中经常会遇到部署多种数据库环境的情况,对于开发人员来说经常在不同数据库之间转换确实有些繁琐,本篇将介绍从sqlserver 操作mysql 数据库的方法。
数据库测试环境
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;
相关参考资料
作者: gnie
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录