Oracle与SQL Server如何实现表数据同步
发布网友
发布时间:2022-04-24 20:54
我来回答
共3个回答
热心网友
时间:2022-04-08 02:31
有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。
1.在Oracle中建立对应的contract 和 contract_project表,需要同步哪些字段我们就建那些字段到Oracle表中。
这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:
SELECT *
FROM msdb.dbo.MSdatatype_mappings
SELECT *
FROM msdb.dbo.sysdatatypemappings
来查看SQLServer和其他数据库系统的数据类型对应关系。第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。
SQLServer和Oracle的对应
2.建立链接服务器。我们将Oracle系统作为SQLServer的链接服务器加入到SQLServer中。
具体做法参见我以前的文章http://www.cnblogs.com/studyzy/archive/2006/12/08/690307.html
3.使用SQL语句通过链接服务器将SQLServer数据写入Oracle中。
比如我们建立了链接服务器MIS,而Oracle中在MIS用户下面建立了表contract_project,那么我们的SQL语句就是:
DELETE FROM MIS..MIS.CONTRACT_PROJECT
--清空Oracle表中的数据
INSERT into MIS..MIS.CONTRACT_PROJECT--将SQLServer中的数据写到Oracle中
SELECT contract_id,project_code,actual_money
FROM contract_project
如果报告成功,那么我们的数据就已经写入到Oracle中了。用
SELECT *
FROM MIS..MIS.CONTRACT_PROJECT
查看Oracle数据库中是否已经有数据了。
4.建立SQLAgent,将以上同步SQL语句作为执行语句,每天定时同步两次。
这样我们的同步就完成了。
这里需要注意的是MIS..MIS.CONTRACT_PROJECT 这里必须要大写,如果是小写的话会造成同步失败。
热心网友
时间:2022-04-08 03:49
可通过设置透明网关来进行
热心网友
时间:2022-04-08 05:23
我们有个客户是使用treeSoft实现数据同步的。每个项目的库、表都不同,商业软件比较专业灵活。
Oracle与SQL Server如何实现表数据同步
3.使用SQL语句通过链接服务器将SQLServer数据写入Oracle中。比如我们建立了链接服务器MIS,而Oracle中在MIS用户下面建立了表contract_project,那么我们的SQL语句就是:DELETE FROM MIS..MIS.CONTRACT_PROJECT --清空Oracle表中的数据 INSERT into MIS..MIS.CONTRACT_PROJECT--将SQLServer中的数据写到Oracle中...
如何同步ORACLE和sqlserver的数据
1.在oracle数据库中建立对应的contract和contract_project表,需要同步那些数据字段我们就建立那些字段到oralce表中 需要注意哦的是oralce的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系,我们可以再sqlServer下运行:SELECT FROM msdb.dbo.MSdatatype_mappings 来查看sqlServcer和oralce...
如何同步ORACLE和sqlserver的数据
1.在Oracle中建立对应的contract 和 contract_project表,需要同步哪些字段我们就建那些字段到Oracle表中。这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:SELECT FROM msdb.dbo.MSdatatype_mappings SELECT FROM msdb.dbo.sysda...
sqlserver数据库与oracle数据库实现数据同步
sqlserver 到oracle可以用触发器实现,前提是你需要先在sql server上创建到oracle的连接。之后oracle 到外网你可用通过程序或别的方法实现。
如何定时同步oracle表到sql server
1、两台不同服务器;2、从oracle10g定时同步(每天凌晨2:00)到sqlserver2005;3、处于安全性考虑,客服方不提供sqlserver2005的账户密码,只需我们提供数据集;4、双方程序语言都为java;在这些前提下我提出了几套方案,仅供参考:a:如果oracle能在客户服务器上访问,由oracle方提供接口给客户服务器...
如何同步两个SQLServer数据库的内容
少量数据库同步可以采用触发器实现,同步单表即可。 三、配置过程中可能出现的问题 在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足: 1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(.\administrator用户也是可以的) 如果登录用的是本地系统帐户lo...
编写Oracle存储过程,实现把SQL Server的一张表数据导到Oracle数据库...
如果数据量不大的话,可以借助Excel来实现。首先将SQL Server的数据拷到Excel中,将日期格式改为yyyy-mm-dd。将整理好的数据粘贴到Oracle中。
如何同步两个SQLServer数据库的内容?
(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器 (6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表 (7)然后[下一步]直到操作完成。当完成...
...for Oracle将 Oracle 数据库迁移到SQL Server
若要使用 MAP 工具包执行清单扫描,请执行以下步骤:确定数据源后,使用 SSMA for Oracle 来评估要迁移到 SQL Server 虚拟机的 Oracle 实例,以了解两者之间的差距。通过使用迁移助手,可以查看数据库对象和数据、评估数据库是否适合迁移、将数据库对象迁移到 SQL Server,然后将数据迁移到 SQL Server。要...
sql 连接oracle的几种方式
1、相等连接 通过两个表具有相同意义的列,可以建立相等连接条件。只有连接列上在两个表中都出现且值相等的行才会出现在查询结果中。例 查询员工信息以及对应的员工所在的部门信息;SELECT * FROM EMP,DEPT;SELECT * FROM EMP,DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO;REM 显示工资超过2000的员工信息以及...