来源于:http://blog.csdn.net/iitkd/article/details/40394789

来源:一个7G的SQL SERVER .bak文件要导入到Oracle中,经过实验,完成操作,先记录操作的过程,供类似的导入导出数据参考。

实验环境:VMBox虚拟机,Window8.1专业版,SQL SERVER2012,ORACLE 11G,7G 的.bak备份文件

简要过程:

(1)首先配置环境,然后使用sql server2012导入备份文件,然后可以查看文件中数据库,表的结构。

表1.1 导入数据库,表

(2)新建查询,使用xx命令将数据库中的cdsgus表导出到test.txt文本。使用xp_cmdshell 和bcp命令完成。

exec xp_cmdshell 'bcp shifenzheng.dbo.cdsgus out c:\test.txt -c -T'

提示:

  • b.xp_cmdshell使用是可能出现问题,不存在或高级问题,可以使用下面的命令开启:
  1. exec sp_configure 'show advanced options 1'
  2. go
  3. reconfigure
  4. go
  5. exec sp_configure 'xp_cmdshell',1
  6. go

如果仍然出现xp_cmdShell命令无法使用时,可以通过以下步骤开启命令:

选中对象资源管理器中的连接的服务器,右键-->方面-->弹出对话框,在下拉选项中选择”外围应用配置器“,设置XPCMDShellEnabled属性为true;再次尝试xp_cmdshell命令。

表1.2开启命令XPCMDShell-方面对话框

运行命令,等待一段时间,完成数据库表的导出,生成test.txt文件,作为导入Oracle数据库的中间文件。

其中test.txt中仅存有数据,没有表格的数据结构

(3)使用sqlldr命令和control.ctl控制文件导入Oracle

  • 首先在Oracle中建立一张表格,表格字段与sql server中的字段完全一样。
  • 构建control.tct文件,填写对应的内容。
  • 在cmd命令下,运行sqlldr scott/tiger@orcl control=control.txt命令即可。注意导入的txt,control.txt和当前CMD的工作目录在同一个地方,路径问题需要注意。

详细Oracle导入txt文件用法详见:http://blog.csdn.net/programpoet/article/details/4516377

备注:

使用txt作为中间文件的好处就是,不用必须同时在一台电脑上安装sql server 和Oracle数据库,txt文件存放中间结果,可以不同电脑上进行数据的转移,降低数据转移对电脑的要求。

本人就是在虚拟机上进行的数据转移:两个win8.1虚拟系统,分别安装sqlserver 和Oracle数据库,然后进行数据的导入和导出,降低了虚拟机对空间的要求,我的是7G的数据,第一次尝试时出现了虚拟机磁盘空间不够用的情况,安装数据库需要磁盘空间,导入数据需要磁盘空间,导出数据也要磁盘的空间。鉴于空间问题,数据库便分开在两个虚拟机系统上,txt作为中间传输的方式。

还有就是sql server本身自带的导入Oracle的组件,使用时出现 了数据链接错误,说Oracle组件没有安装,不知道怎么做了,便采用了上述的方式,完成数据迁移。

大规模数据 从SQL SERVER导入到ORACLE方法的更多相关文章

  1. SQL SERVER导入数据到ORACLE的方法总结

    我们偶尔会有将数据从SQL SERVER导入到ORACLE当中的这种需求,那么这种跨数据库导数有那些方法呢?这些方法又有那些利弊呢? 下面比较肤浅的总结了一些可行的方法. 1:生成SQL脚本然后去OR ...

  2. 用代码从文件中导入数据到SQL Server

    引言 导入数据到SQL Server 是常见的需求,特别是定期导入这种需求. 对于定期导入主要有以下几种方式可选择: Bulk Insert Bcp Utility OpenRowSet 写程序导入( ...

  3. Excel导入数据到Sql server 中出错:“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”

    从Excel导入数据到Sql server 时,由于表中的数据有的很长,导入时出现如下错误(如果数据不是很长,255内以内,则不会出现错误): 出错原因: SQL Server的导入导出为了确定数据表 ...

  4. 使用T-SQL导入多个文件数据到SQL Server中

    在我们的工作中,经常需要连续输入多个文件的数据到SQL Server的表中,有时需要从相同或者不同的目录中,同时将文件中的数据倒入.在这篇文章中,我们将讨论如何同时把一个目录中的文件的数据倒入到SQL ...

  5. 常见SQL Server导入导出数据的几个工具

    摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...

  6. Sql Server 导入还有一个数据库中的表数据

    在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,此处以SQL Server导入表数据为例.阐述一下: 1.打开SQL Server Management ...

  7. 【SQL Server数据迁移】64位的机器:SQL Server中查询ORACLE的数据

    从SQL Server中查询ORACLE中的数据,可以在SQL Server中创建到ORACLE的链接服务器来实现的,但是根据32位 .64位的机器和软件, 需要用不同的驱动程序来实现. 在64位的机 ...

  8. 【SQL Server数据迁移】32位的机器:SQL Server中查询ORACLE的数据

    从SQL Server中查询ORACLE中的数据,可以在SQL Server中创建到ORACLE的链接服务器来实现的,但是根据32位 .64位的机器和软件,需要用不同的驱动程序来实现. 在32位的机器 ...

  9. EXCEL导入数据到SQL SERVER 2008

    项目中需要导入excel到SQL SERVER数据库 总是报截断, 本质问题是,SQL SERVER导入程序是根据EXCEL的第一行记录 (非标题行)来决定数据长度的 碰到这个问题,可以伪造第一行,然 ...

随机推荐

  1. Spark standlone安装与配置

    spark的安装简单,去官网下载与集群hadoop版本相一致的文件即可. 解压后,主要需要修改spark-evn.sh文件. 以spark standlone为例,配置dn1,nn2为master,使 ...

  2. Nova: 虚机的块设备总结 [Nova Instance Block Device]

    和物理机一样,虚拟机包括几个重要的部分:CPU.内存.磁盘设备.网络设备等.本文将简要总结虚机磁盘设备有关知识. 1. Nova boot CLI 中有关虚机块设备的几个参数 nova boot CL ...

  3. 挤点时间写博客-php&MySQL实践

    hi 晚上要吃火锅的嘛,挤点时间写点东西吧,别被老板发现哦 1.PHP与MySQL 五.文章发布系统之后台 5.2 创建配置文件和初始化文件 为了统一配置以及管理方便,还有就是减少代码的冗余. 分别为 ...

  4. BeJavaGod - 如何正确使用数据字典进行分类统一操作(一)

    先说说什么是数据字典,这个玩意一般不太会解释,举个栗子吧~ 每个系统都会有用户表,性别:男(1)女(0) 另外我们做物流的会涉及到车型:卡车(1),轿车(2),挂车(3) 货物类型:危险品(1),普通 ...

  5. HQL基础查询语句

    HQL基础查询语句 1.使用hql语句检索出Student表中的所有列 //核心代码 @Test public void oneTest() { Query query=session.createQ ...

  6. Eclipse调整双击选取的字符颜色背景

    Eclipse调整双击选取的字符颜色背景,如下图所示: 会有二点影响: 1. 编辑页的颜色 2. 右侧滚动条的小提示点的颜色.

  7. ubuntu12.04安装搜狗输入法和配置

    1.安装 参考http://hi.baidu.com/lowkey2046/item/7ff8b33abe492bd06d15e9b6 2.配置 当前系统语言默认为英语 1)点击右上角的键盘按钮-&g ...

  8. linux下截取给定路径中的目录部分

    在日常运维中,有时会要求截取一个路径中的目录部分.截取目录的方法,有以下两种:1)dirname命令(最常用的方法):用于取给定路径的目录部分.很少直接在shell命令行中使用,一般把它用在shell ...

  9. Javascript备忘复习笔记2

    一.函数与形参 1.函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } alert(abs(-10)); 2 ...

  10. MySQL与MongoDB的操作对比,以及区别

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什么地方 ...