(转发)近期为公司的一个项目数据库进行了转换,将Oracle的Db转换为SqlServer(2000或2005均可),一开始在网上找了一些资料,发现有个工具叫SwisSql的,尝试了一下,没成功,继续查找.后来经同事提醒,使用SqlServer的导入和导出工具,尝试一下,确实可以转换.操作步骤如下所述.

  所需要的环境比较简单,就是本机可以同时连接Oracle和SqlServer即就,注意:这里不必为Oracle数据库建立ODBC,采用直连方式即可,需要新建一个SqlServer数据库,用于加载Oracle的数据.下面以SqlServer2005为例

  步骤1

  打开Sqlserver,如图-1,选中目标数据库,右键->任务->导入数据

  

图-1

  步骤2:

  选择”导入数据”菜单,会出现向导,点击下一步,出现如图-2所示界面

  

图-2

  这里要说明下,最好选择”MicroSoft OLE DB Provider for Oracle方式,选择另外一种方式导入数据时会报错.

  输入服务器名称和用户密码,测试成功后,一定要勾选”允许保存密码”

  步骤3

  此步骤就是选择目标数据库,如图-3所示

  

图-3

  步骤4

  导入数据有两种方式,一种方式是可视化选择Db表或视图;另一种方式是通过sql语句实现,一般批量导入选择第一种方式

  

图-4

  步骤5

  此步骤就是选择我们需要导入的Db对象,如图-5所示

  

图-5

  这里说明一下,如果oracle中表的列数据类型没有匹配成功,可以直接点击”编辑”按钮,直接编辑即可

  选择好导入Db对象以后,点击”下一步”或”完成”,就开始导入.一般来说,如果数据比较正常,不是特殊的Oracle数据,都是可以导入的.

  下面说下我操作过程中遇到的问题,希望给大家有所提醒

  1. 导入以后的Db表,可能主键或外键会丢失,需要我们自己去创建主键,自己写sql语法实现就好了.

  2. Oracle中blob或clob类型的数据,在此处是无法导入的,需要我们手工写代码导入.比如表A,我们可以先用上述方法将非blog或clob字段的数据导进来,然后写代码,执行update语句,将字段值写入其中即可

  3. 如果数据格式不符合条件,也不是不可以的,比如日期型字段,oracle中可能这样也会存储0200-9-12,导入时这行数据就会报错,因为不符合日期类型格式,需要调整.

  4. Oracle转换至SqlServer2000或SqlServer2005,所产生的结果是不一样的,这个大家要注意.应该说,2005比2000要更加精确,无论是对数据还是对表结构

  总之,这次导入还是比较顺利的,更重要的是比较简单,比使用第三方工具要方便很多,因此,有些需求的朋友推荐此方法

将Oracle数据库转换为SQL Server的更多相关文章

  1. Oracle 数据库和Sql Server数据库的区别

    Oracle数据库的访问方式,和SqlServer数据库是有很大差别的,下面用图来说明: 1.Sql Server数据库 SqlServer数据库的访问方式,大致是:假设用户通过sa登录SqlServ ...

  2. 你肯定不知道的oracle数据库和sql server的这些区别

    它们两者之间的区别主要体现在六大方面: 一是开放性. 1.SQL Server 只可在windows上运行,缺乏开放性,操作系统的稳定对数据库是非常重要的. Windows9X系列产品比较偏重于桌面应 ...

  3. 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

    有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...

  4. 怎么将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL

    有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...

  5. [PowerDesign]将数据库从SQL Server数据库转换为MySQL

    原文:[PowerDesign]将数据库从SQL Server数据库转换为MySQL 一.迁移Database Schema. 首先使用Sybase Powerdesigner的逆向工程功能,逆向出S ...

  6. Oracle、Microsoft SQL Server、Mysql

    数据库对比.----1.Oracle:最贵,功能最多,安装最不方便,Oracle环境里的其他相关组件最多,支持平台数量一般,使用中等方便,开发中等方便,运维中等方便,不开源,速度最慢,最安全.---- ...

  7. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  8. Oracle临时表和SQL Server临时表的不同点对比

    文章来源:http://www.codesky.net/article/201109/141401.html 1.简介 Oracle数据库除了可以保存永久表外,还可以建立临时表temporary ta ...

  9. Oracle GoldenGate for Sql Server连接ODBC失败的处理方法

    Oracle GoldenGate for Sql Server连接oracle数据库的时候还是比较容易的,命令行下面只要: GGSCI> dblogin useridalias [ alias ...

随机推荐

  1. Linux程序调试GDB——数据查看

    查看栈信息 当程序被停住了,首先要确认的就是程序是在哪儿被断住的.这个一般是通过查看调用栈信息来看的.在gdb中,查看调用栈的命令是backtrace,可以简写为bt. (gdb) bt    #0 ...

  2. jquery api 常见api 效果操作例子

    addClass_removeClass_toggleClass_hasClass.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 ...

  3. JAVA编译器常量

    编译器常量的特点就是:它的值在编译期就可以确定.比如: final int i = 5; 再傻的编译器也能在编译时看出它的值是5,不需要到运行时.对于运行时常量,它的值虽然在运行时初始化后不再发生变化 ...

  4. java dom xml解析和windows dom解析的差别

    1.java dom 子节点包括空节点. 2.java dom 文档节点值也是其的子节点. 而windows dom(mshtml.dll)子节点不包括空节点,而节点值也不是以子节点的方式来对待的.

  5. Python 列表 list() 方法

    描述 Python 列表 list() 方法用于将可迭代对象(字符串.列表.元祖.字典)转换为列表. 注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中. ...

  6. Spring加载xml配置文件的方式(BeanFactory和ApplicationContext区别)

    描述 大家都知道Java读普通文件是通过Basic I/O 中的InputStream.OutStream.Reader.Writer 等实现的.在spring 框架中,它是怎样识别xml这个配置文件 ...

  7. min宏的学习

    1.先上实现代码: #define __min(t1, t2, min1, min2, x, y) ({ \ t1 min1 = (x); \ t2 min2 = (y); \ (void) (&am ...

  8. atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案

    atitit.获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案 1. 通过sql ide navicate获取(推荐)通过meatadata数据库获取 1 2. 通过代码获取 ...

  9. 验分享:CSS浮动(float,clear)通俗讲解

    经验分享:CSS浮动(float,clear)通俗讲解 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不 ...

  10. 认识rem

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