如何从SQL Server迁移大批量数据到Oracle

 我来答
普实软件
2017-11-13 · 知道合伙人软件行家
普实软件
知道合伙人软件行家
采纳数:1703 获赞数:7398
普实软件ERP专家

向TA提问 私信TA
展开全部

首先将SQLServer数据导出成txt格式文本此方法略,不会的去网上查资料,网上很多相关资料。

下面要说的是如何将txt文本数据导入到Oracle中,Dos 环境下使用SQl*Loader命令 加载。

使用其它数据库的数据转移工具,Oracle 企业管理器中的数据加载功能。


具体的技术实现

一、Dos 环境下加载

1、首先,服务器端的侦听服务必须已经开启。

测试方法:Dos 下输入

C:/>sqlplus username/password@serviceName

2、然后使用 Oracle 的 sqlldr 命令进行数据的导入

前期条件

1) Oracle 数据库端必须已经建好了需要导入的数据表的结构

2) 一个数据源文件 下面例子中为制表符分隔的文本文件 model.txt ,为Excel 表中导出的

3) 手工编辑一个XXX.CTL 的控制文件

4) 命令行加载数据


如下实例:

以下文件缺省放到C:/ 下,如果不是,就需要指明全路径

1. 命令控制文件 input.ctl 内容

命令 

说明

load data 

1、控制文件标识

infile 'model.txt' 

2、要输入的数据文件名为test.txt

append into table system.塔位属性表 

3、向表test中追加记录

fields terminated by X'09' 

4、指定分隔符,字段终止于X'09',是一个制表符(TAB)

(编号,名称,大小) 

5、定义列对应表中顺序

控制文件中指定插入数据的方式关键字

insert,为缺省方式,在数据装载开始时要求表为空

append,在表中追加新记录

replace,删除旧记录,替换成新装载的记录

truncate,同上

在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入

C:/>sqlldr userid=system/manager@ serviceName control=input.ctl

默认日志文件名为:input.log

默认坏记录文件为:input.bad


二、使用其它数据库转移工具

以下以SQL Server 导入导出向导为例

1、在数据的导入导出向导中设置数据源服务器,实例中选择数据源选择SQL Server

2、然后指定要导入的Oracle 数据源

3、需要配置Oracle 的属性信息

需要注意的是,登录数据库的用户信息即为数据导入之后的方案名,即导入之后的SQL Server 中的表在Oracle 中标志名为 username.表名

以下按照提示即可,可以完全导入SQl Server 中的数据表和视图,也可以使用查询语句返回你要选择的列或者行。


三、Oracle 企业管理器中的数据加载功能

登录Oracle 的控制台界面,针对单独的数据表可以使用数据加载工具

中间需要指定控制文件等,同Dos 加载一致,不再重复

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。以上回答如果还觉得不够详细,可以来咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
6666回归
2017-11-10 · 超过24用户采纳过TA的回答
知道答主
回答量:44
采纳率:66%
帮助的人:32.3万
展开全部
用sql server 自带的工具
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式