最近参与的一个系统涉及到把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. SQL Server MYSQL 对外键建立索引的必要性

    背景: 大家知道在定义外键时,都会给出on delete .....   on update .....: 这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合.对从表中的外键,建立索引 ...

  2. Linux01--文件管理,常用命令 权限管理

    一.Ø文件系统 1.Linux文件系统特点  • Linux文件系统为单根的树状结构  •文件系统根为”/”  •文件名大小写敏感,除了”/”都是可用字符文件名以”.”开始的为隐藏文件  •文件路径使 ...

  3. IIS的Connection由改为close改为Keep-Alive

    参考地址:http://jingyan.baidu.com/article/60ccbceb0c884864cab19784.html 官方:http://technet.microsoft.com/ ...

  4. LDA(latent dirichlet allocation)

    1.LDA介绍 LDA假设生成一份文档的步骤如下: 模型表示: 单词w:词典的长度为v,则单词为长度为v的,只有一个分量是1,其他分量为0的向量         $(0,0,...,0,1,0,... ...

  5. Android Activity 启动模式详解

    最近有群里的朋友问我 Activity的四种启动模式分别是什么意思? 当初因为项目比较忙,草草的解释了下, Api文档中说的也只是一般,在这里就小记一下吧,以便有更多的朋友对Activity启动模式了 ...

  6. linux学习之(五)-linux文解压、压缩、安装

    查看一个文件的类型 命令:  file  文件名 创建一个.tar类型的压缩包使用命令:tar -cvf    [文件名].tar  目录   例:tar -cvf   a.tar    yasuo/ ...

  7. 在win7下php查询数据库, 连接被重置

    解决方法一 将 php5 目录下的libmysql.dll拷贝至 windows/system32和apache/bin下 解决方法二 在apache/conf/httpd.conf文件中添加 Loa ...

  8. Android应用中使用百度地图API定位自己的位置(二)

    官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发人员们提供了例如以下类型的地图覆盖物: ...

  9. THP Transparent HugePages 相关知识与关闭

    近期遇到个LINUX系统内存比較大.未开 HugePages,业务有变化导致ORACLE连接数剧增至上千个,PageTables达到上百G.导致内存不足系统HANG住的案例. 因此须要开启 HugeP ...

  10. Android——采用SQLiteDatabase操作SQLite数据库

    除了能够使用文件或SharedPreferences存储数据.还能够选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...