阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 1923|回复: 8

[原创] 如何直接在mssql里操作mysql

[复制链接]

该用户从未签到

发表于 2009-7-18 09:38:03 | 显示全部楼层 |阅读模式
应用场景:企业内即有mssql数据库也有mysql数据库
应用价值:提高了数据库管理的方便性,无需两个数据来回切换
操作步骤:
1、在mssql数据库所在的电脑中安装mysql的odbc驱动,官方的有mysql odbc 3.51和mysql odbc 5.1版的,下载地址;http://dev.mysql.com/downloads/connector/odbc/5.1.html#win32
下载mysql odbc驱动.JPG
2、装完后打开管理工具->数据源->系统DSN->添加数据源,选择您安装的驱动,输入用户名,密码,数据库(注:mysql的登录认证方式默认是IP+用户名+密码,如果您的mysql和mssql不在同一台机上,请在mysql上先添加一个用户,指定IP为mssql的IP,这点很关键,不然你是无法测试通过的)
设置odbc.JPG
3、odbc测试通过后,请打开SQL2000查询分析器或SQL2005管理工具,输入以下代码
--添加链接服务器和登录用户
--注@server是ODBC中的系统数据源名称,我这里起名叫OA;@provider='MSDASQL'这个不可以修改
EXEC sp_addlinkedserver @server='OA',@srvproduct='OA',@provider='MSDASQL',@datasrc='OA'
GO
--@rmtuser='longin1' mysql的登记名 ,@rmtpassword='123456' 登录密码
EXEC sp_addlinkedsrvlogin @rmtsrvname='OA',@useself='false',@locallogin='sa',@rmtuser='longin1',@rmtpassword='123456'
go
添加链接服务器.JPG
4、对mysql 操作
--查询用户
select * from openquery(OA,'select * from sms limit 100')
--INSERT 示例
INSERT OPENQUERY (OA, 'SELECT title, content FROM msgs')
VALUES ('title', 'content')
--UPDATE 示例
UPDATE OPENQUERY (OA, 'SELECT title, content FROM msgs WHERE id=1')
SET title = 'newTitle', content = 'newContent'
--DELETE 示例
DELETE OPENQUERY (OA, 'SELECT id FROM msgs WHERE id=1');
/*
OPENQUERY 不接受参数变量,也就是说:DELETE OPENQUERY (linked_server, 'SELECT id FROM msgs WHERE id=' + @id); 是不正确的,但可以这样做:DELETE OPENQUERY (linked_server, 'SELECT id FROM msgs') WHERE id=@id);
*/
5、删除链接服务器
sp_dropserver OA,'droplogins'
-----
本人对以上操作已在实际使用中,如有问题可回复一起交流!
楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    难过
    2018-9-9 08:00
  • 签到天数: 1410 天

    [LV.10]以坛为家III

    发表于 2009-7-20 06:22:08 | 显示全部楼层
    这个技巧很实用咯 谢谢
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2024-7-29 14:57
  • 签到天数: 260 天

    [LV.8]以坛为家I

    发表于 2009-7-20 07:53:31 | 显示全部楼层
    可以省掉切换的操作,不知还有没有其他的操作技巧
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

    发表于 2009-7-20 13:09:30 | 显示全部楼层
    这个好像蛮复杂的
    我是新手
    启用邀请码注册,提高发帖质量,建设交流社区

    该用户从未签到

     楼主| 发表于 2009-7-20 18:11:29 | 显示全部楼层
    原帖由 xujunfei_1024 于 2009-7-20 07:53 发表
    可以省掉切换的操作,不知还有没有其他的操作技巧

    不但省掉切换的操作,还省掉了安装其它mysql的GUI工具(这些工具对中文支持都不太理解)

    baronyang 于 2009-7-20 18:12 补充以下内容
    原帖由 lemonwang 于 2009-7-20 13:09 发表
    这个好像蛮复杂的
    我是新手

    其实蛮简单,三步:安装mysql->设置ODBC->创建链接服务器,搞定
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 4580 天

    [LV.Master]伴坛终老

    发表于 2009-7-21 13:46:57 | 显示全部楼层
    学习了,农民补贴系统用的正是mysql数据库。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    擦汗
    2016-4-4 19:37
  • 签到天数: 249 天

    [LV.8]以坛为家I

    发表于 2009-7-23 11:31:56 | 显示全部楼层
    好东西,你来了。
    好东西,你来了。
    好东西,你来了。
    好东西,你来了。
    好东西,你来了。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2022-9-5 16:28
  • 签到天数: 71 天

    [LV.6]常住居民II

    发表于 2009-8-6 00:53:50 | 显示全部楼层
    对于跨库数据交换来说很有用,很不错.收下了.
    启用邀请码注册,提高发帖质量,建设交流社区
    头像被屏蔽

    该用户从未签到

    发表于 2009-8-14 16:17:10 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表