最近参与的一个系统涉及到把SQL Server 2k的数据迁移到Oracle 10G这一非功能需求。特将涉及到相关步骤列举如下供大家参考:

环境及现有资源:

1、OS: Windows 7 Enterprise 32 bits

2、开发电脑安装有数据库SQL Server 2008、以及Oracle 10G R2

3、客户提供的SQL Server 2k的数据库备份.bak文件

4、Visual Studio 2008

5、Oracle ODAC 1020221

可选方案:

1、DTS(SQL SERVER 2000)或者SSIS(>= SQLSERVR 2005)

这是我采用的方式(.Net开发出身,没办法),本文余下部分也将只介绍该部分内容;

由于本地只安装了SQL SERVER 2008,因此我就直接在SQL SERVER 2008中对客户给的bak文件进行了数据恢复。

2、该方案来自朋友的介绍:在Oracle数据库做异构数据库(透明网关)。生成远程数据库的DB_LINK,然后在SQLSERVER里面捞出所有的表名,在ORACLE里面用create table xx as select * from xx@db_link;
这样生成一个脚本,执行脚本就可以把所有数据库里面的表数据捞到新数据库中。

该中方式的参照站点:

 
SSIS实现转换步骤:
1、点击 开始->所有应用程序->SQL Server Business Intelligence Development Studio 启动Visual Studio 2008
2、在Visual Studio 2008中选择新建项目,选择新建Integration Services Project
 
3、在新建的项目中,选中 Project->SSIS Import and Export Wizard打开导入、导出包的向导窗口
 
4、填写SQL SERVER连接信息
 
5、填写Oracle数据库的连接信息

6、选择整表导出

7、选择需要到处的表,由于SQL SERVER与ORACLE之间的数据类型的不一致性,我们需要点击“Edit Mapping"按钮来编辑字段映射

8、默认数据库字段映射中有很多不正确的信息

这么多映射问题得解决啊!参照如下博文,我很好的了解了对应的数据类型映射关系,轻松搞定。

http://www.cnblogs.com/yiping06993010/archive/2007/08/02/840220.html

9.修改好的数据字段类型映射关系

10、在Visual Studio中看到新创建的包

11.最后运行选中的包

相关参考链接:

http://www.cnblogs.com/yiping06993010/archive/2007/08/02/840220.html

 
希望此文对有类似需求的人有一定的帮助!

SQL SERVER 2000/2005/2008数据库数据迁移到Oracle 10G细述的更多相关文章

  1. sql数据库恢复 文件丢失误删除 误格式化置疑报错修复 数据库置疑修复总结/SQL SERVER 2000/2005/2008/2008R2

    数据库置疑的原因会有多种多样,不同的问题采用的步骤也会有所不同,以下的步骤不能适用所有的情况,但包括了一些基本的步骤. 数据库置疑是指数据库内部处于不一致的状态,很有可能会有数据丢失.我们推荐您从做数 ...

  2. SQL Server 2000/2005 分页SQL — 单条SQL语句

    有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...

  3. 如何将SQL Server 2000备份的数据库文件还原(升级)为SQL Server 2005或更高版本的数据库?

    其实很简单,有两种方法. 方法一:将SQL Sever 2000数据库备份的数据库文件名后面加上“.bak”,然后直接在SQL Sever 2005或者高版本软件里面直接还原即可: 方法二:在SQL ...

  4. 使用Sql Server Management Studio 2008将数据导出到Sql文件中

      最近需要将一个Sql Server 2005数据库中的数据导出,为了方便,就希望能导出成Sql文件,里面包含的数据是由Insert 语句组成的. 在Sql Server Management St ...

  5. sql server 2000/2005递归

    /* 递归查询 塗聚文---SQL Server 2005环境下的实现: */--生成测试数据 create table Dept(ID int,ParentID int,msg varchar(20 ...

  6. SQL语句添加删除修改字段[sql server 2000/2005]

    用SQL语句添加删除修改字段1.增加字段     alter table docdsp    add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME ...

  7. SQL SERVER 2000 遍历父子关系数据的表(二叉树)获得所有子节点 所有父节点及节点层数函数

    ---SQL SERVER 2000 遍历父子关系數據表(二叉树)获得所有子节点 所有父节点及节点层数函数---Geovin Du 涂聚文--建立測試環境Create Table GeovinDu([ ...

  8. sql server 2000备份还原数据库

    转载请注明出处:http://blog.csdn.net/neochan1108/article/details/79248017 备份: -- Create the backup device fo ...

  9. SQL SERVER 2000 如何提高大数据筛选GROUP BY 的效率

    数据库有83W条记录,本想计算20180101之后的每天赔付情况,故写了以下SQL语句: SELECT 起保时间,sum(赔付金额) as 日赔付 FROM maindata WHERE 起保时间&g ...

随机推荐

  1. Mybatis基础入门 I

    作为ORM的重要框架,MyBatis是iBatis的升级版.Mybatis完全将SQL语句交给编程人员掌控,这点和Hibernate的设计理念不同(至于Hibernate的理念,待我先学习学习). 下 ...

  2. mvn 一些操作

    拷贝依赖包 mvn dependency:copy-dependencies -DoutputDirectory=src/main/webapp/WEB-INF/lib  -DincludeScope ...

  3. ListFragment和ListActivity的setOnItemClickListener不起作用

    在使用ListFragment时,发现一个奇怪的问题,就是getListView().setOnItemClickListener(new OnItemClickListener...)不起作用.在s ...

  4. Spring、Hello AOP

    AOP 概念:http://blog.csdn.net/moreevan/article/details/11977115 AOP 所使用到的jar 包: aspectjrt.jar common-a ...

  5. C#性能优化实践【转】

    性能主要指两个方面:内存消耗和执行速度.性能优化简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短. 本文以.NET平台下的控件产品MultiRow为例,描述C# ...

  6. oauth2认证

    using System; using System.Collections.Generic; using System.Security.Cryptography; using System.Con ...

  7. kubernetes之kube-ApiServer代码分析

    一.概述: kube-ApiServer相当于是k8集群的一个入口,不论通过kubectl还是使用remote api 直接控制,都要经过apiserver.apiserver说白了就是一个serve ...

  8. Mina入门:mina版之HelloWorld

    一,前言: 在完成上篇文章<Mina入门:Java NIO框架Mina.Netty.Grizzly简介与对比>之后,我们现在可以正式切入Mina入门学习了. 二,搭建项目结构与解决项目依赖 ...

  9. 查询最小未使用ID的SQL查询

    --每个都加一,以此来找出最小的未用ID SELECT Min(T1.ID)+1 FROM dbo.TestTable T1 -- 不用查询已经存在的ID WHERE (T1.ID+1) NOT IN ...

  10. javascript高级知识点——内置对象原型

    代码信息来自于http://ejohn.org/apps/learn/. 可以修改内置对象的方法. if (!Array.prototype.forEach) { Array.prototype.fo ...