| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
这篇论坛文章主要介绍了SQL Server与Oracle的数据同步方案及解决过程,更多内容请参考下文: 网管朋友网www_bitscn_net
说到同步,其实是靠"作业"定时调度存储过程来操作数据,增,删,改,全在里面,结合触发器,游标来实现,关于作业调度,我使用了5秒运行一次来实行"秒级作业",这样基本就算比较快的"同步" 中国网管联盟bitsCN.com
我做的是SQL Server往Oracle端同步,先在sql server上建立往Oracle端的链接服务器,我用一个视图"封装"了一下链接服务器下的一张表。
| create view v_ora_PUBLISHLASTREC
as 网管论坛bbs_bitsCN_com select * from ORACLEDB..ROADSMS.PUBLISHLASTREC 网管网www_bitscn_com
|
脚本如下: 网管下载dl.bitscn.com
| --说明:modiid等于1为insert,2为delete,3为update
create trigger trg_PUBLISHLASTREC_insert on PUBLISHLASTREC for insert 网管bitscn_com as 网管网www_bitscn_com insert into dbo.PublishLastRec_SQL(modiid,SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,IsExec) 中国网管联盟bitsCN.com select '1',SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,'0' from inserted 网管bitscn_com
网管下载dl.bitscn.com as 网管网www.bitscn.com insert into dbo.PublishLastRec_SQL(modiid,SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,IsExec) 网管u家www.bitscn.net select '3',SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,'0' from inserted 中国网管论坛bbs.bitsCN.com
网管下载dl.bitscn.com as 网管论坛bbs_bitsCN_com
insert into dbo.PublishLastRec_SQL(modiid,SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,IsExec) 网管联盟bitsCN@com select '2',SignalGUID,AreaNo,SignalNote,AreaNote,PublishRoadStatus,PublishTime,'0' from deleted 网管u家www.bitscn.net |
网管联盟bitsCN@com
|
0
|
评论加载中…