不同服务器数据库之间的数据 *** 作 --创建链接服务器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 'exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码'--查询示例 selectfrom ITSV数据库名dbo表名 --导入示例 selectinto 表from ITSV数据库名dbo表名 --以后不再使用时删除链接服务器 exec sp_dropserver 'ITSV ', 'droplogins '--连接远程/局域网数据(openrowset/openquery/opendatasource) --1、openrowset --查询示例 selectfromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) --生成本地表 selectinto 表fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) --把本地表导入远程表 insertopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名) selectfrom 本地表 --更新本地表 update b set b列A=a列A fromopenrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码',数据库名dbo表名)as a innerjoin 本地表 b on acolumn1=bcolumn1 --openquery用法需要创建一个连接 --首先创建一个连接创建链接服务器 exec sp_addlinkedserver 'ITSV ', '', 'SQLOLEDB ', '远程服务器名或ip地址 '--查询selectFROMopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') --把本地表导入远程表 insertopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') selectfrom 本地表 --更新本地表 update b set b列B=a列B FROMopenquery(ITSV, 'SELECT FROM 数据库dbo表名 ') as a innerjoin 本地表 b on a列A=b列A --3、opendatasource/openrowset SELECTFROMopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' )testdboroy_ta --把本地表导入远程表 insertopendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ')数据库dbo表名 selectfromSQL code 用强制订阅实现数据库同步 *** 作 大量和批量的数据可以用数据库的同步机制处理: // 说明:为方便 *** 作,所有 *** 作均在发布服务器(分发服务器)上 *** 作,并使用推模式在客户机器使用强制订阅方式。 有疑问联系作者:zlp321001@hotmailcom 测试通过 //--1:环境服务器环境: 机器名称: ZehuaDb *** 作系统:Windows 2000 Server 数据库版本:SQL 2000 Server 个人版 客户端机器名称:Zlp *** 作系统:Windows 2000 Server 数据库版本:SQL 2000 Server 个人版 --2:建用户帐号在服务器端建立域用户帐号我的电脑管理->本地用户和组->用户->建立UserName:zlp UserPwd:zlp --3:重新启动服务器MSSQLServer我的电脑->控制面版->管理工具->服务->MSSQLServer 服务 (更改为:域用户帐号,我们新建的zlp用户 /zlp,密码:zlp) --4:安装分发服务器A:配置分发服务器工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置) B:配置发布服务器工具->复制->创建和管理发布->选择要发布的数据库(SZ)->下一步->快照发布->下一步-> 选择要发布的内容->下一步->下一步->下一步->完成C:强制配置订阅服务器(推模式,拉模式与此雷同) 工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->SQL Server数据库->输入客户端服务器名称(ZLP)->使用SQL Server 身份验证(sa,空密码)->确定->应用->确定D:初始化订阅复制监视器->发布服务器(ZEHUADB)->双击订阅->强制新建->下一步->选择启用的订阅服务器->ZLP-> 下一步->下一步->下一步->下一步->完成--5:测试配置是否成功复制监视器->发布服务器(ZEHUADB)->双击SZ:SZ->点状态->点立即运行代理程序查看:复制监视器->发布服务器(ZEHUADB)->SZ:SZ->选择ZLP:SZ(类型强制)->鼠标右键->启动同步处理如果没有错误标志(红色叉),恭喜您配置成功 --6:测试数据 --在服务器执行:选择一个表,执行如下SQL insertinto WQ_NEWSGROUP_S select'测试成功',5 复制监视器->发布服务器(ZEHUADB)->SZ:SZ->快照->启动代理程序 ->ZLP:SZ(强制)->启动同步处理 去查看同步的 WQ_NEWSGROUP_S 是否插入了一条新的记录 测试完毕,通过。
有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。
1在Oracle中建立对应的contract 和 contract_project表,需要同步哪些字段我们就建那些字段到Oracle表中。
这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:
SELECT
FROM msdbdboMSdatatype_mappings
SELECT
FROM msdbdbosysdatatypemappings
来查看SQLServer和其他数据库系统的数据类型对应关系。第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。
SQLServer和Oracle的对应
2建立链接服务器。我们将Oracle系统作为SQLServer的链接服务器加入到SQLServer中。
具体做法参见我以前的文章>
sql数据实时同步工具?
工具是指定有的,但是也不是随随便便就能搞定的。工具也要重新去学习使用的,ETL工具。都是来做这个事情用的,收费的比如informatica,datastage。免费的,比如kettle之类的
我将两个思路提供给你:
1、首先,你要有一个业务层和一个数据访问接口层和数据层(后两层可以合并),业务层中有数据 *** 作时同时 *** 作其它两层的数据,只有同时成功了才提交事务。这样可以确保数据一致。
2、设计和实现一个数据同步工具,我实现了一个SQL
Server和Oracle之间数据同步的工具,利用一个定义表(主键,字段,表名,同步标识等)和DataSet做中转,能够将两个数据库中需要同步的表同步成相同的内容,你可以根据要求指定同步周期。
i2Active为您提供高可用和实时数据整合方案,协助Oracle数据库系统保持724小时运作,满足最终用户连续可用的要求。帮助您在企业范围内快速分发或收集关键数据,以便及时和准确的决策。
以上就是关于数据库怎么实现数据同步全部的内容,包括:数据库怎么实现数据同步、Oracle与SQL Server如何实现表数据同步、sql数据实时同步工具等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)