开发者社区> 浣熊干面包> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

如何将SQLServer2005中的数据同步到Oracle中

简介:
+关注继续查看
有时由于项目开发的需要,必须将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 这里必须要大写,如果是小写的话会造成同步失败。


本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2007/10/05/914719.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一名小小的SQL Server DBA想谈一下SQL Server的能力
原文:一名小小的SQL Server DBA想谈一下SQL Server的能力 一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:《比较 SQL Serve...
1248 0
0. SQL Server监控清单
原文:0. SQL Server监控清单 数据库服务器的监控可大致分为两类: (1) 状态监控:数据库服务器有没有在健康地运行? (2) 性能监控:健康运行的同时,有没有性能问题?可不可以更快些?   一.
964 0
01. SQL Server 如何读写数据
原文:01. SQL Server 如何读写数据 一. 数据读写流程简要SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制。无论有没有显示开启事务,事务都是存在的。
1017 0
C#写SQL SERVER2008存储过程
在C#中,选择"新建项目"->"数据库"->"SQL Server"->"Visual C# SQL CLR 数据库" 在项目中,单击右键选择"添加"->"存储过程",代码如下(SalesCrossTabs.
663 0
哥安装sql server 2000的一些经验
1、解压SQLServer 2000.rar到电脑一个分区的根目录 2、默认进行安装,到下面的步骤时如下图进行相关的设置   选中 使用本地系统账户   选中 混合模式   运行查询分析器等时先开启sql服务器   3、哥在安装第二次sql server2000过程中出现的郁闷的问题 上图中,如果你安装第一次SQL SERVER2000后,会在C:\Program Files\Microsoft SQL Server生成一个 MSSQL$DYLI的目录,而使用其默认的卸载软件卸载时,不会卸载该文件夹。
770 0
如何检查SQL Server CPU瓶颈
--检测CPU压力的一个方法是计算运行状态下的工作进程数量,--通过执行如下的DMV查询可以得到这个信息 SELECT COUNT(*) AS workers_waiting_for_cpu,t2.
594 0
用SQL语句完成SQL Server数据库的修复
  使用数据库的过程中,由于断电或其他原因,有可能导致数据库出现一些小错误,比如检索某些表特别慢,查询不到符合条件的数据等。   出现这些情况的原因,往往是因为数据库有些损坏,或索引不完整。   在Access中,有个修复数据库的功能可以解决这个问题,在SQL企业管理器,没有这个功能,要用语...
860 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Oracle 至PostgreSQL案例分享
立即下载
PostgresChina2018_刘成伟_oracle到Postgres数据库迁移工具
立即下载
PolarDB的Oracle平滑迁移之路
立即下载