最近参与的一个系统涉及到把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. Firebug入门指南(转)

    据说,对于网页开发人员来说,Firebug是Firefox浏览器中最好的插件之一. 我最近就在学习怎么使用Firebug,网上找到一篇针对初学者的教程,感觉比较有用,就翻译了出来. 作者:Estell ...

  2. NSInteger到底是什么数据类型

    看iOS SDK 方法返回的类型都是NSInteger,但是官方给出的示例代码一般for循环的计数器就都是int了. - (NSInteger)tableView:(UITableView *)tab ...

  3. 在Word中为标题样式添加自动编号功能

    原文地址:http://blog.chinaunix.net/uid-16685753-id-2738270.html 摘要: 本文可以帮助你在Office 2007中为Word标题样式添加和设置自动 ...

  4. poj2864

    #include<iostream> #include<cstdio> #include<cmath> using namespace std; int main ...

  5. [Linux] 解压缩 tar 命令详解

    在Linux环境软件安装过程中通常需要用到解压命令,故在此总结下,以方便以后使用,若有不对之处,欢迎指正.   1. 文件压缩      通过压缩算法将文件的体积缩小,同时会将多个文件合并成至一起方便 ...

  6. wx.Notebook

    wx.Notebook This class represents a notebook control, which manages multiple windows with associated ...

  7. Ubuntu12.04下eclipse提示框黑色背景色的修改方法

    eclipse提示框的背景颜色使用的是系统的提示框颜色配置,在windows下为黄色,但在Ubuntu12.04(gnome)下却是黑色,造成提示内容很难看清. 在eclipse中我们是无法修改这个颜 ...

  8. C# 4.0 新特性-dynamic 【转】

    前段时间看过一些关于dynamic这个C#4中的新特性,看到有些朋友认为dynamic的弊大于利,如无法使用编译器智能提示,无法在编译时做静态类型检查,性能差等等.因此在这篇文章中我将就这些问题来对d ...

  9. Android读写JSON格式的数据之JsonWriter和JsonReader

    近期的好几个月都没有搞Android编程了,逐渐的都忘却了一些东西.近期打算找一份Android的工作,要继续拾起曾经的东西.公司月初搬家之后就一直没有网络,直到今日公司才有网络接入,各部门才開始办公 ...

  10. C# datetimePicker控件格式设置

    //必须先设置Format属性为Custom,然后才能自定义格式 this.dtPicker.Format = DateTimePickerFormat.Custom; this.dtPicker.C ...