加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

在sqlserver下增加MYSQL的链接服务…

发布时间:2020-12-12 13:07:28 所属栏目:MsSql教程 来源:网络整理
导读:在sqlserver下增加MYSQL的链接服务器 首先要在SQLserver上服务器上这装ODBC对mysql的支持,我下载了mysql-connector-odbc-5.1.5-win32.rar,安装后在ODBC中有了DRIVER={MySQL ODBC 5.1 Driver} ? 第二步,按下面的SQL脚本来执行 ? 代码 -- 查询已有的链接服
在sqlserver下增加MYSQL的链接服务器 首先要在SQLserver上服务器上这装ODBC对mysql的支持,我下载了mysql-connector-odbc-5.1.5-win32.rar,安装后在ODBC中有了DRIVER={MySQL ODBC 5.1 Driver}

?

第二步,按下面的SQL脚本来执行

?代码

-- 查询已有的链接服务器
exec sp_linkedservers;

-- 脚本方式
EXEC sp_addlinkedserver
??? @server='MySQLTest',
??? @srvproduct = 'zerolone',
??? @provider = 'MSDASQL',
??? @datasrc = NULL,
??? @location = null,
??? @provstr = 'DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;DATABASE=zerolone;UID=root;PORT=3306;',
??? @catalog = NULL
go
??? EXEC sp_addlinkedsrvlogin
??? @rmtsrvname='MySqlTest',
??? @useself='false',
??? @rmtuser='root',
??? @rmtpassword='123456';
go

SELECT * FROM OPENQUERY (PCTMYSQL2,'select * from monolithpro_cate' )

INSERT OPENQUERY (PCTMYSQL2,'SELECT id,parentid,level,title FROM monolithpro_cate')
VALUES ('','0','zhangzongqi');

UPDATE OPENQUERY (PCTMYSQL2,'SELECT parentid,title FROM monolithpro_cate WHERE id = 320')
SET parentid = '2',LEVEL=3,title=title+'pct';

DELETE OPENQUERY (PCTMYSQL2,'SELECT id FROM monolithpro_cate WHERE id = 316');

?

?最后,好了可以实现在SQLserver下,添删改MYSQL里的数据了。

原文地址:http://www.cnblogs.com/pctzhang/archive/2010/07/06/1772120.html

?

方法二:

在MSSQL SERVER2005后,提供了链接服务器。利用它可以对异类数据库和MSSQL进行交互,使用起来非常方便。操作步骤如下: 1:创建MYSQL数据库的ODBC数据源,名称为CPC,选择一个默认的数据库。 如何配置ODBC数据源请看这里: http://wenku.baidu.com/view/552afb6aaf1ffc4ffe47ac11.html 2:SQL代码如下 ? ?

-- 创建链接服务器

EXEC sp_addlinkedserver?@server?='MySQLTest',?@srvproduct'MySQL'@provider?'MSDASQL'@datasrc?'cpc'
GO

-- 创建或更新 SQL Server 本地实例上的登录名与远程服务 器中安全帐户之间的映射。

-- 下面这个也必须加,否则使用sa登陆mssql时无法访问链接服务器。
EXEC sp_addlinkedsrvlogin @rmtsrvname@useself'false'@locallogin'sa'@rmtuser'cpc'@rmtpassword'123'
go
--参数解释:@rmtsrvname 链接服务器名

-- @locallogin本地登陆账号,@rmtuser mysql (远程)链接服务器用户名,@rmtpassword (远程)链接服务器密码
-- 把SQL SERVER里的TT表的记录插入到MYSQL的T1表里,这这里也可以插入具体值。

?INSERT?OPENQUERY(MySQLTest'select * from t1')?select?*?from?TT;
?values?(99);
?
?
-- 对T1表进行UPDATE操作

?UPDATE?OPENQUERY'select value from t1'set?value=value?+100;
?
?
-- 对T1表进行DELETE 操作,不明白为什么一次只能删除一条,

?DELETE?OPENQUERY?'SELECT * FROM t1 WHERE hour = 99';
??'SELECT * FROM t1 ';
?
?-- DELETE OPENQUERY (MySQLTest,'SELECT * FROM t1 WHERE hour > 2'); --这样是不行的,报错

?

?
-- 对T1表进行查询操作

?from?openquery;
?
?-- 把MYSQL的T1表的记录写回到MSSQL

?insert?into?TT?;
go

-- 释放掉链接服务

EXEC sp_dropserver?'droplogins'
go
?

http://de.cel.blog.163.com/blog/static/51451236201133011422724/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读