模板酷站

电脑版
提示:原网页已由神马搜索转码, 内容由www.mb5u.com提供.

sqlserver数据实时同步到mysql_MySQL教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:EXP-00091: Exporting questionable statistics一.出现EXP-00091错误 [oracle@localhost tmp]$ exp '/ as sysdba' tables=testxuchao.TAB_XN_PY_DICT \ file=/tmp/xifenfei.dmp log=/tmp/xifenfei.log Export: Release 9.2.0.4.0 - Production on Mon Jan 16 16:02:37 2012 Copyright (c) 1982, 2002, Oracle Corpor

1.安装安装mysqlconnector2.配置mysqlconnectorODBC数据管理器->系统DSN->添加->mysql ODBC 5.3 ANSI driver->填入data source name如jt,mysql的ip、用户名、密码即可3.新建链接服务器exec sp_addlinkedserver@server='jt', --ODBC里面data source name@srvproduct='mysql', --自己随便@provider='MSDASQL', --固定这个@datasrc=NULL,@location=NULL,@provstr='DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=192.168.5.188;DATABASE=suzhou;UID=root;PORT=3306;',@catalog = NULLexec sp_addlinkedsrvlogin@rmtsrvname='jt',@useself='false',@rmtuser='root',@rmtpassword='password';select * from openquery(jt,'SELECT * FROM sz ; ')GOUSE [master]GOEXEC master.dbo.sp_serveroption @server=N'jt', @optname=N'rpc out', @optvalue=N'TRUE'GOEXEC master.dbo.sp_serveroption @server=N'jt', @optname=N'remote proc transaction promotion', @optvalue=N'false'GO---4.sqlserver和mysql新建库和表create database suzhou;create table sz(id int not null identity(1,1) primary key,orderno char(20) not null,ordertime datetime not null default getdate(),remark varchar(200))gocreate table sz(id int(11) not null ,orderno char(20) not null,ordertime datetime(6) not null ,remark varchar(200),primary key (id)) engine=innodb default charset=utf8;---5.建立回环--建立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----6.编写触发器和存储过程----6.1 insert--重写触发器use suzhougoalter trigger tr_insert_sz on suzhou.dbo.szfor insertasdeclare @id int, @orderno char(20),@ordertime datetime,@remark varchar(200)select @id=id,@orderno=orderno,@ordertime=ordertime,@remark =remark from inserted;beginprint @idprint @ordernoprint @ordertimeprint @remarkexec loopback.suzhou.dbo.sp_insert @id,@orderno,@ordertime,@remarkendgo--存储过程use suzhougocreate PROCEDURE sp_insert(@id int,@orderno char(20),@ordertime datetime,@remark varchar(200))ASBEGINSET NOCOUNT ON;Insert openquery(jt, 'select * from sz')(id,orderno,ordertime,remark)values(@id,@orderno,@ordertime,@remark)ENDgo----6.2 update--重写触发器use suzhougocreate trigger tr_update_sz on suzhou.dbo.szfor updateasdeclare @orderno char(20),@remark varchar(200)select @orderno=orderno,@remark =remark from inserted;beginexec loopback.suzhou.dbo.sp_update @orderno,@remarkendgo--存储过程use suzhougocreate PROCEDURE sp_update(@orderno char(20),@remark varchar(200))ASBEGINSET NOCOUNT ON;update openquery(jt, 'select * from sz') set remark=@remark where orderno=@ordernoENDgo---update数据测试use suzhougoupdate sz set remark='ocpyang' where orderno='a001'go----6.3 delete--重写触发器use suzhougocreate trigger tr_delete_sz on suzhou.dbo.szfor deleteasdeclare @orderno char(20)select @orderno=orderno from deleted;beginexec loopback.suzhou.dbo.sp_delete @ordernoendgo--存储过程use suzhougocreate PROCEDURE sp_delete(@orderno char(20))ASBEGINSET NOCOUNT ON;delete openquery(jt, 'select * from sz') where orderno=@ordernoENDgo---delete数据测试use suzhougodelete from sz where orderno='a001'go

分享:由于文件组 ‘DEFAULT’ 中的磁盘空间不足,无法为数据库 ‘TEMPDB’ 分配新页今天接到一个朋友的问题,sql server报由于文件组 DEFAULT 中的磁盘空间不足,无法为数据库 TEMPDB 分配新页,按照错误提示应该是tempdb空间不足,让其查看tempdb对应数据库文件大小为不到4g,查看其对应文件为自增长,硬盘空间还有40g多点,那应该没有问题。后来她说

来源:模板无忧/所属分类:MySQL教程/更新时间:2014-10-28
最新评论:

游客121.31.12.* / 2015-08-08

我装了ODBC,新建链接服务器那一步 在哪里怎么弄

回复

游客121.31.12.* / 2015-08-08

请问mysqlconnector是装哪个,官网有挺多版本的,不知道装哪个

回复

共 1 页/2条评论

匿名评论
相关MySQL教程

编程教程搜索