最近参与的一个系统涉及到把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. jQuery的ajax中return语句无法返回值

    今天在做一个新需求的时候,用到jQuery的ajax来返回一个查询结果: 但是调用这个方法的时候,data有数据,调用的地方获取到的却一直都是undefined,在网上搜索了一些资料,找到了问题所在, ...

  2. JQuery.getJSON 从aspx页面返回JSON数据

    public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventAr ...

  3. github上值得研究的项目和人

    https://github.com/Dax89?tab=repositories https://github.com/stars/gabrielcorado https://github.com/ ...

  4. 由merge into引起的序列跳号

    最近生产库反应出一个问题,某张表的主键ID并没有按照原计划的期望增加,而是间歇性跳号,每次跳2万多,经过研究发现是某个同步过程的merge into引起的,具体语句如下 merge into t_if ...

  5. 查看iis对应w3wp.exe显示的进程ID号(转载)

    管理员身份运行cmd,跳转到C:\Windows\System32\inetsrv目录,然后运行appcmd list wp即可查看

  6. 如何用JavaScript复制到剪贴板

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  7. 动态规划——Palindrome Partitioning II

    Palindrome Partitioning II 这个题意思挺好理解,提供一个字符串s,将s分割成多个子串,这些字串都是回文,要求输出分割的最小次数. Example:Input: "a ...

  8. [Swift]LeetCode478. 在圆内随机生成点 | Generate Random Point in a Circle

    Given the radius and x-y positions of the center of a circle, write a function randPoint which gener ...

  9. Mac OS X L2TP Client Setup

    原文链接:http://www.softether.org/4-docs/2-howto/9.L2TPIPsec_Setup_Guide_for_SoftEther_VPN_Server/5.Mac_ ...

  10. CentOS6 部署 Tomcat

    安装java软件 yum install java-1.8.0* -y 设置开机自启,在/etc/init.d/下新建 tomcat 写入以下内容: #!/bin/bash # /etc/rc.d/i ...