您的位置:首页 > 数据库 > MySQL

MSSQL和MYSQL数据交互

2016-01-28 16:07 288 查看


MSSQL和MYSQL数据交互

在MSSQL SERVER2005后,提供了链接服务器。利用它可以对异类数据库和MSSQL进行交互,使用起来非常方便。操作步骤如下:

1:创建MYSQL数据库的ODBC数据源,名称为CPC,选择一个默认的数据库。

2:SQL代码如下

-- 创建链接服务器
EXEC sp_addlinkedserver @server ='MySQLTest', @srvproduct='MySQL',@provider ='MSDASQL', @datasrc ='cpc'

GO
-- 创建或更新 SQL Server 本地实例上的登录名与远程服务 器中安全帐户之间的映射。
-- 好像没什么用,不做这一步也能进行数据交互
EXEC sp_addlinkedsrvlogin @rmtsrvname='MySQLTest',@useself='false',@locallogin='sa',@rmtuser='cpc',@rmtpassword='123'

go
-- 把SQL SERVER里的TT表的记录插入到MYSQL的T1表里,这这里也可以插入具体值。
INSERT OPENQUERY(MySQLTest,'select * from t1') select * from TT;

INSERT OPENQUERY(MySQLTest,'select * from t1') values (99,99,99);

-- 对T1表进行UPDATE操作
UPDATE OPENQUERY(MySQLTest,'select value from t1') set value=value +100;

-- 对T1表进行DELETE 操作,不明白为什么一次只能删除一条,
DELETE OPENQUERY (MySQLTest, 'SELECT * FROM t1 WHERE hour = 99');

DELETE OPENQUERY (MySQLTest, 'SELECT * FROM t1 ');

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

-- 对T1表进行查询操作
select * from openquery(MySQLTest,'select * from t1');

-- 把MYSQL的T1表的记录写回到MSSQL
insert into TT select * from openquery(MySQLTest,'select * from t1');

go
-- 释放掉链接服务
EXEC sp_dropserver 'MySQLTest','droplogins'

go

分享:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: