---安装安装mysqlconnector
/*
配置mysqlconnector
ODBC数据管理器->系统DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name如jt,mysql的ip、用户名、密码即可

*/

--新建链接服务器
exec sp_addlinkedserver
@server='MySqll_Aggregation',--ODBC里面data source name
@srvproduct='MySql',--自己随便
@provider='MSDASQL',--固定这个
@datasrc=NULL,
@location=NULL,
@provstr='DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=172.17.29.33;DATABASE=bi;UID=zhaowenzhong;PORT=3306;',
@catalog=NULL

---创建连接mysql数据库的账号及密码
exec sp_addlinkedsrvlogin
@rmtsrvname='MySqll_Aggregation',----ODBC里面data source name
@useself='false',
@rmtuser='zhaowenzhong',---mysql账号
@rmtpassword='mysqldba@2015';--mysql账号其密码

---测试是否可以访问mysql数据库中的表
select * from openquery(MySqll_Aggregation,'SELECT * FROM tb; ')
-----建立允许远程访问连接操作
USE [master]
GO
EXE Cmaster.dbo.sp_serveroption@server=N'MySqll_Aggregation',@optname=N'rpc out',@optvalue=N'TRUE'
GO
EXEC master.dbo.sp_serveroption@server=N'MySqll_Aggregation',@optname=N'remote proc transaction promotion',@optvalue=N'false'
GO
  
--建立LOOPBACK 服务器链接
EXEC sp_addlinkedserver@server=N'loopback',@srvproduct=N' ',@provider=N'SQLNCLI',
@datasrc=@@SERVERNAME
go
--设置服务器链接选项,阻止SQL Server 由于远过程调用而将本地事务提升为分布事务(重点)
USE [master]
GO
EXEC master.dbo.sp_serveroption@server=N'loopback',@optname=N'rpc out',@optvalue=N'TRUE'
GO
EXEC master.dbo.sp_serveroption@server=N'loopback',@optname=N'remote proc transaction promotion',@optvalue=N'false'
GO
---编写触发器和存储过程
--insert
CREATE TRIGGER TR_INSERT_TB ON  DB_TY2015.DBO.TB
FOR INSERT
AS
DECLARE@ID INT,
                                @QTY INT
                                SELECT@ID=ID,@QTY=QTY FROM INSERTED;
                                BEGIN
                                                EXEC loopback.db_ty2015.dbo.sp_insert@id,@qty;
                                END
CREATE PROCEDURE SP_INSERT
@ID INT,
@QTY INT
AS
BEGIN
                SET NOCOUNT ON
                                INSERT OPENQUERY(db_ty2015,'select * from tb')(id,qty) values (@id,@qty);
                SET NOCOUNT OFF
END
---update
CREATE TRIGGERT R_UPDATE_TB ON DB_TY2015.DBO.TB
FOR UPDATE
AS
DECLARE @ID INT,@QTY INT
SELECT@ID=ID,@QTY=QTY FROM INSERTED;
BEGIN
                EXEC loopback.db_ty2015.dbo.sp_update@id,@qty;
END
CREATE PROCEDURE SP_UPDATE
@ID INT,
@QTY INT
AS
BEGIN
                SET NOCOUNT ON
                                UPDATE OPENQUERY(db_ty2015,'select * from tb') SET qty=@qty WHERE id=@id
                SET NOCOUNT OFF
END
--delete
CREATE TRIGGER TR_DELETE_TB ON DB_TY2015.DBO.TB
FOR DELETE
AS
                DECLARE @ID INT
                SELECT@ID=ID FROM DELETED;
BEGIN
                EXEC loopback.db_ty2015.dbo.sp_DELETE@id;
END
CREATE PROCEDURE SP_DELETE
@ID INT
AS
BEGIN
                SET NOCOUNT ON
                                DELETE OPENQUERY(db_ty2015,'select * from tb') WHERE id=@id
                SET NOCOUNT OFF
END
-------初始化数据     表已存在的情况
insert  into  penquery(MySqll_Aggregation,'select * from bi.tb') select*from[FSLogin].[dbo].[tb]with(nolock)
---从mysql同步表结构及数据到sqlserver上
select * into  [SqlServerDBName].dbo.MYTest  from   openquery(localmysql,'select * from mysqldbname.weibosession')

ODBC数据管理器 SqlServer实时数据同步到MySql的更多相关文章

  1. sersync+rsync实时数据同步

    sersync+rsync实时数据同步 1.相关背景介绍 前面有关文章配置实现了rsync增量同步以及配置为定时同步,但是在实际生产环境中需要实时的监控数据从而进行同步(不间断同步),可以采取inot ...

  2. Linux学习系列之Inotify+Rsync实现实时数据同步

    Inotify简介 inotify介绍 inotify是一种强大的.异步的文件系统监控机制,linux内核从2.6.13起,加入了inotify的支持,通过inotify可以监控文件系统中添加.删除. ...

  3. rsync+inotify实时数据同步多目录实战

    rsync+inotify实时数据同步多目录实战       inotify配置是建立在rsync服务基础上的配置过程 操作系统 主机名 网卡eth0 默认网关 用途 root@58server1 1 ...

  4. rsync+inotify实时数据同步单目录实战

    rsync+inotify实时数据同步单目录实战   rsync+inotify实时数据同步单目录实战 inotify是一个强大的.细粒度的.异步的文件系统事件监控机制,linux内核从2.6.13起 ...

  5. Linux系统实时数据同步inotify+rsync

    一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Li ...

  6. 【linux运维】rsync+inotify与sersync+rsync实时数据同步笔记

    Rsync(remote sync)远程同步工具,通过rsync可以实现对远程服务器数据的增量备份通过,但rsync自身也有缺陷,同步数据时,rsync采用核心算法对远程服务器的目标文件进行对比,只进 ...

  7. Tapdata Real Time DaaS 技术详解 PART I :实时数据同步

      摘要:企业信息化过程形成了大量的数据孤岛,这些并不连通的数据孤岛是企业数字化转型的巨大挑战.Tapdata Real Time DaaS 采用的CDC模式,具有巨大的优势,同时是一个有技术壁垒的活 ...

  8. Tapdata 在线研讨会:实时数据同步应用场景及实现方案探讨

    数字化时代的到来,企业业务敏捷度的提升,对传统的数据处理和可用性带来更高的要求,实时数据同步技术的发展,给基于数据的业务创新带来了更多的可能性.9月8日晚,Tapdata 联合MongoDB 中文社区 ...

  9. canal+mysql+kafka实时数据同步安装、配置

    canal+mysql+kafka安装配置 概述 简介 canal译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费. 基于日志增量订阅和消费的业务包括 数 ...

随机推荐

  1. [Bzoj4521][Cqoi2016]手机号码(数位dp)

    4521: [Cqoi2016]手机号码 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 870  Solved: 505[Submit][Status ...

  2. java开发面试大全刷题整理

    题目源自Java团长公众号,内容个人整理,来源于各大博客,未经允许,不准摘抄,仅供分享,不做商业使用. 本分享多数为浅层知识体系,更为底层的还请自行多写写代码,若有不对之处,望广大的人才指点,不喜勿喷 ...

  3. Spring的@Autowired注解

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/annotation-based-configuration/spring-autowired-an ...

  4. [转] SQL SERVER 2008 R2 安装中的账户设置问题

    故纸堆 原文:SQL SERVER 2008安装中设置账户的问题,2013-7 在安装SQL Server 2008数据库服务器的时候,服务器有可能处于以下几种环境中: ①工作组环境下的服务器 (Wo ...

  5. chapter1:using neural nets to recognize handwritten digits

    two important types of artificial neuron :the perceptron and the sigmoid neuron Perceptrons 感知机的输入个数 ...

  6. 学习MarkDown--初体验

    学习MarkDownPad 突然兴趣来了,在博客园里面也有Markdown的格式,昨天晚上安装了MarkDownPad pro这个是免费的,但是有些功能不支持.本来想破解的,百度了很多方法感觉不靠谱, ...

  7. [PythonCode]扫描局域网的alive ip地址

    内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...

  8. LUA协程复用

    -----协程复用根函数 local function routine(fun, args) while (fun) do fun, args = coroutine.yield(fun(table. ...

  9. [Bash] Create nested folder in Bash

    We can create a single folder by doing: mkdir onefolder If we want to create nested folder we need t ...

  10. Android中个人推崇的数据库使用方式

    手机应用开发中常常会使用到数据库存储一些资料或者进行数据缓存,android中为我们提供了一个轻量的数据库.在上层进行了一层封装,同一时候还为我们提供了ContentProvider的框架.方便我们进 ...