Oracle与SQL Server实现表数据同步

 将SQLServer2005中的某些表同步到Oracle数据库中,不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。

实例:
SQLServer2008有一个有表employ_epl是需要同步到一个EHR系统中(Oracle11g),实现数据库的同步步骤如下:

1.在Oracle中建立对应的employ_epl表,需要同步哪些字段我们就建那些字段到Oracle表中。
注意:Oracle的数据类型和SQLServer的数据类型是不一样的,需要进行转换

--查看SQLServer和其他数据库系统的数据类型对应关系
--SQL转Oracle的类型对应
SELECT *FROM msdb.dbo.MSdatatype_mappings

--详细得显示了各个数据库系统的类型对应
SELECT *FROM msdb.dbo.sysdatatypemappings

2.建立链接服务器
将Oracle系统作为SQLServer的链接服务器加入到SQLServer中。
http://www.cnblogs.com/Snowfun/p/5284357.html

3.使用SQL语句通过链接服务器将SQLServer数据写入Oracle中

DELETE FROM TESTORACLE..SCOTT.EMPLOY_EPL
insert into  TESTORACLE..SCOTT.EMPLOY_EPL
select * from employ_epl

--查看Oracle数据库中是否已经有数据了。
select * from  TESTORACLE..SCOTT.EMPLOY_EPL

4.建立SQLAgent,将以上同步SQL语句作为执行语句,每天定时同步。

时间: 2024-10-12 11:52:41

Oracle与SQL Server实现表数据同步的相关文章

Oracle与Sql Server复制表结构及数据

1.Oracle create table 新表名 AS SELECT * FROM 源表名 2.Sql Server SELECT * into 新表名 from 源表名 Oracle与Sql Server复制表结构及数据

SQL server 管理表数据

管理表数据 关系数据库的基本操作就是增删改查,即CRUD:Create.Retrieve.Update.Delete.其中,对于查询,我们已经详细讲述了SELECT语句的详细用法. 而对于增.删.改,对应的SQL语句分别是: INSERT:插入新记录: UPDATE:更新已有记录: DELETE:删除已有记录. 我们将分别讨论这三种修改数据的语句的使用方法. 1. INSERT 当我们需要向数据库表中插入一条新记录时,就必须使用INSERT语句. INSERT语句的基本语法是: INSERT I

SQL Server 的表数据简单操作

--表数据操作----添加表数据----向现有表添加数据--[use 要操作数据表的数据库名称go]insert [into] 数据表 [(字段名1,字段名2,字段名3, ...)] values(值1,值2,值3, ...) 例:use 商品管理数据库goinsert 客户信息表(客户姓名,客户编号,联系电话)values('刘培群','021','13927112594') --把查询到的表数据生成(添加到)一张新数据表--[use 要操作数据表的数据库名称go]select 字段名列表 i

SQL Server 的表数据简单操作(表数据查询)

--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例:use 商品管理数据库goselect * from 商品信息表select 商品编号,商品名称,产地 from 商品信息表selelct * from 商品信息表 where 产地='辽宁沈阳' --关键字辅助查询----1)distinct关键字 (用来消除查询结果中的重复行,使用时紧跟在select命令后)--select

Oracle 使用物化视图实现表数据同步

1.创建原表和物化视图日志 SQL> create table t1(id int,name varchar2(30)); Table created. SQL> alter table t1 add constraint pk_t1 primary key(id) using index; Table altered. SQL> create materialized view log on t1 with primary key; Materialized view log crea

sql server复制表数据到另外一个表 的存储过程

if exists (select * from sysobjects where id=object_id('GenerateData') and OBJECTPROPERTY(id, 'IsProcedure') =1 ) Drop Procedure GenerateData go CREATE PROCEDURE GenerateData @tablename sysname AS begin declare @column varchar(2000) declare @columnda

sql server复制表数据到另外一个表的存储过程

if exists (select * from sysobjects where id=object_id('GenerateData') and OBJECTPROPERTY(id, 'IsProcedure') =1 ) Drop Procedure GenerateData go CREATE PROCEDURE GenerateData @tablename sysname --同一数据库下的表名 AS begin declare @column varchar(2000) decla

SQL Server Always ON 数据同步原理

Always ON通过主节点向各个节点传送日志,实现数据一致性. 下图中步骤5是并行的.即主节点的Log Scanner进程,同时把打包的日志发送到节点01和节点02. 下图中步骤6是并行的.即主节点的收到任意一个节点(01或者02)日志固化完成的消息以后,即可把事务成功的消息发送回客户端.

ogg实现oracle到sql server 2005的同步

一.源端(oracle)配置1.创建同步测试表create table gg_user.t01(name varchar(20) primary key);create table gg_user.t02(id int primary key,name varchar(20));2.添加定义文件(是异构之间的传输,需要转换字段类型等处理需用到defgen工具生成定义文件)GGSCI (kermart) 4> edit params defgendefsfile D:\ggate\dirdef\t