SqlServer实时数据同步到MySql
来源:互联网 发布:下载wps软件 编辑:程序博客网 时间:2024/05/17 03:41
---安装安装mysqlconnector
http://www.mysql.com/products/connector/
/*
配置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='MySqll_Aggregation', ----ODBC里面data source name@location=NULL,--@provstr='DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=172.17.29.33;DATABASE=bi;UID=zhaowenzhong;PORT=3306;', --和@datasrc属性二选一@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]GOEXE Cmaster.dbo.sp_serveroption @server=N'MySqll_Aggregation',@optname=N'rpc out',@optvalue=N'TRUE'GOEXEC 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=@@SERVERNAMEgo--设置服务器链接选项,阻止SQL Server 由于远过程调用而将本地事务提升为分布事务(重点)USE [master]GOEXEC master.dbo.sp_serveroption@server=N'loopback',@optname=N'rpc out',@optvalue=N'TRUE'GOEXEC master.dbo.sp_serveroption@server=N'loopback',@optname=N'remote proc transaction promotion',@optvalue=N'false'GO---编写触发器和存储过程--insertCREATE TRIGGER TR_INSERT_TB ON DB_TY2015.DBO.TBFOR INSERTASDECLARE@ID INT, @QTY INT SELECT@ID=ID,@QTY=QTY FROM INSERTED; BEGIN EXEC loopback.db_ty2015.dbo.sp_insert@id,@qty; ENDCREATE PROCEDURE SP_INSERT@ID INT,@QTY INTASBEGIN SET NOCOUNT ON INSERT OPENQUERY(db_ty2015,'select * from tb')(id,qty) values (@id,@qty); SET NOCOUNT OFFEND---updateCREATE TRIGGERT R_UPDATE_TB ON DB_TY2015.DBO.TBFOR UPDATEASDECLARE @ID INT,@QTY INTSELECT@ID=ID,@QTY=QTY FROM INSERTED;BEGIN EXEC loopback.db_ty2015.dbo.sp_update@id,@qty;ENDCREATE PROCEDURE SP_UPDATE@ID INT,@QTY INTASBEGIN SET NOCOUNT ON UPDATE OPENQUERY(db_ty2015,'select * from tb') SET qty=@qty WHERE id=@id SET NOCOUNT OFFEND--deleteCREATE TRIGGER TR_DELETE_TB ON DB_TY2015.DBO.TBFOR DELETEAS DECLARE @ID INT SELECT@ID=ID FROM DELETED;BEGIN EXEC loopback.db_ty2015.dbo.sp_DELETE@id;ENDCREATE PROCEDURE SP_DELETE@ID INTASBEGIN SET NOCOUNT ON DELETE OPENQUERY(db_ty2015,'select * from tb') WHERE id=@id SET NOCOUNT OFFEND-------初始化数据 表已存在的情况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')
来源:http://blog.csdn.net/zhaowenzhong/article/details/50599372
阅读全文
0 0
- 实战:sqlserver 数据实时同步到mysql
- 【实战】:sqlserver数据实时同步到mysql
- SqlServer实时数据同步到MySql
- 实战:sqlserver 数据实时同步到mysql
- SqlServer实时数据同步到MySql
- 实时同步MySQL数据到Elasticsearch
- Mysql 实时数据同步到 kafka、hdfs
- Oracle GoldenGate 将 SQLServer 数据实时同步到 ORACLE
- Oracle GoldenGate 之 SqlServer数据同步到Mysql数据库
- Oracle GoldenGate 之 SqlServer数据同步到Mysql数据库
- SODBASE实时大数据基础(一):实时同步Mysql数据库到Kafka
- SQLServer导出数据到MySQL
- Mysql 数据 导入到 SqlServer
- SQLServer数据迁移到Mysql
- MySQL和MsSQL实时自动数据同步
- MYSQL同步Sqlserver数据库数据的方法
- sqlServer 和mysql数据同步问题
- mysql到redis 同步数据
- 压缩图片
- ios 选择联系人 发短信 通讯录开发 addressUI
- 主窗体和子窗体之间的转换
- cookie和session
- Jquery Table 的基本操作
- SqlServer实时数据同步到MySql
- 生成二维矩阵,编码时指定大小,怎么添加LOGO还在琢磨
- mybatis动态sql中的trim标签的使用
- if name == 'main' 到底有啥用
- 记一次程序优化---sql数据大,表关联过多,但结果仅需要前几条数据
- IDEA 隐藏文件或目录(androidstudio)
- android gradle.properties
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶
- UIWebView在子线程中加载会Crash