SQL Server 创建链接服务器 链接mysql 进行数据同步

15 篇文章 2 订阅
2 篇文章 0 订阅

背景

一个项目的产品迭代,因为迭代过程中两套系统同时使用,两套系统设计使用的数据库不同,从Sqlserver改到mysql了,所以需要将sqlserver的业务数据定时同步到mysql中。

思路

当问题产生了,作为一个合格的码农,第一时间就是想着做一个程序实现数据同步,但是处于自身不叫懒惰,总觉得写个程序太累了,于是想到网上找一找有没有提供工具的人,最后也是无功而返,然后就想到了用 DBLink(Oracle 里面是这个名字),所有就有了如下解决办法。

解决方案

方案

按照如下步骤实现能够解决这个问题

  1. 创建一个连接服务器能够连接到mysql
  2. 使用sqlserver代理中的作业定时执行

实施

前提

数据库服务器已经安装了sqlserver,这个不强调了,不会装的自己网上搜索吧。

安装mysql链接程序

MySQL Community Downloads

下载后就一路下一步安装就行了。

创建ODBC源

  • 第一步

按照如下路径查找ODBC源配置程序

控制面板 ----> 系统和安全 ----> 管理工具 ----> ODBC 数据源(64 位)

如果你的电脑是Win10或者是11,你又不知道如何打开控制面板,或者找不到对应的东西,请尝试使用一下路径: 控制面板\系统和安全\管理工具

在这里插入图片描述

  • 第二步
    双击运行,切换tab到第二个 系统DSN
    记住,这个一定是在sqlserver服务器上操作,不要在客户端电脑上操作,那样是没用的
    在这里插入图片描述

  • 第三步 配置链接
    添加一个新的链接
    在这里插入图片描述

录入mysql的链接信息后,点击test测试一下,如果一切都是对的,会提示成功信息

在这里插入图片描述
在这里插入图片描述

创建链接服务器(SqlServer)

如下图 服务器对象 --> 连接服务器 --> 新建 如下图录入信息
在这里插入图片描述
切换到 安全性 录入完信息后点击确定

在这里插入图片描述

测试DBLink是否好用

按照如下语法根据实际情况编写sql即可

select * from  openquery(你的链接名称, 'sql语句')

如果能够查询到你想要的数据,表示成功了。

创建SqlServer 作业

  • 新建一个作业 (注意所有者尽量是管理员,避免后面执行sql时权限不足)

  • 选择左侧的 步骤

  • 新建步骤,随便输入一个名称

  • 类型选择T-SQL(需要其他类型,自行摸索吧)

  • 在下面空白区域输入你的sql语句

    • 因为这个需求时需要同步sql数据到mysql,所以我这里的sql语句就是通过dblink将sqlserver的数据更新|插入到mysql中
  • 注意一下空白区域上边的数据库,要选择对应的业务数据库,然后确定。

  • 在这里插入图片描述

  • 选择左侧的 计划

根据你的需要设计执行时间周期已经是否自行删除
在这里插入图片描述

  • 通知,报警这类如果有需要可以配置邮箱,进行通知。如果没有需要,现在可以按下确定,创建完成作业了。

运行作业

鼠标右键刚才创建的作业,点击 “作业开始步骤”,会出现如下图
在这里插入图片描述
根据提示确定作业是否执行成功。

查看作业运行日志

鼠标右键作业,选择 “查看历史记录”,如下图能看到历史执行情况
在这里插入图片描述

资料与引用

对我有帮助作用的资料

https://blog.csdn.net/weixin_43926268/article/details/109846295
https://blog.csdn.net/q3498233/article/details/16809511
https://blog.csdn.net/weixin_39381833/article/details/103621121
https://blog.csdn.net/q3498233/article/details/16809511

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值