SQL Server 2008 R2 通过JOB和linkserver 定时从MySQL 同步数据

 

 

需求背景:本项目使用SQL Server 2008 R2, 需要 从第三方数据库系统(MySQL)获取两张表,由于业务以及代码框架原因,决定把两张表定时同步到我们数据库里面。

 

SQL Server 2008中需要访问MySQL的数据,可以通过调用MySQL的ODBC驱动,在SQL Server中添加LinkServer的方式实现。

步骤:

1.从MySQL网站下载最新的MySQL ODBC驱动:http://www.mysql.com/downloads/connector/odbc/

 

2.在SQL Server所在的服务器安装,并查看安装以后的驱动名称。

首先通过控制面板查看ODBC

 

3.创建linkserver

 

 Driver={MySQL ODBC 5.3 ANSI Driver};Server=xxx;Database=xxx;User=xxx;Password=xxx;Option=3;

在SQL Server 中通过OPENQUERY 函数对MySQL 进行操作,该函数包含两个参数:第一个为已创建的链接名称,第二个为SQL 查询,它将返回对Linked Server 的读取或修改操作。如下操作示例:

OPENQUERY ([xxx], 'SELECT * FROM [xxx]')

4.在sql server里面创建job

 

按照步骤一步步操作就可以了

值得注意的是,在步骤里面如果是执行sql语句,可以点击分析来测试下sql语句的可执行性。

 

如果执行过程中报错误  22022 SQLServerAgent当前未运行

控制面板 -》管理->服务->SQLSERVERAGENT->设置为自动启动 就可以啦

 

 


posted on 2017-05-12 17:00  小橙子宝贝  阅读(280)  评论(0编辑  收藏  举报