本篇介绍sqlldr使用过程中,比较常用的4中需求(个人认为),SQL*LOADER的原理和一些关键字的含义就不在絮叨,很多人在说这事,顺便鄙视一下那些在网上粘贴别人文章,不注明出处的人,比较气愤,今天在网上查资料的时候,所有人都一样,找不到原版,还注明原创,MD......这么多人的文章都一字不差,真是有缘!
需求一、单数据文件导入一张数据表中
文字是苍白的,事例才是震撼的,所以举例说明:
1、创建测试表:
create table test_loader_1(id number(4),name varchar2(20));
2、创建一个bat文件(在windows下可以直接调用命令行的)
sqlldr userid=scott/ruiyuan control=D:\sqlloader\user.ctl parallel=true --特别注意,一个sqlldr只能写一个控制文件
3、创建一个控制文件.ctl文件
LOAD DATA
INFILE 'D:\sqlloader\test1.txt'
APPEND INTO TABLE test_loader_1
FIELDS TERMINATED BY X'09' --(Tab分隔符)
TRAILING NULLCOLS --(表的字段没有对应的值时允许为空)
(ID,NAME)
4、创建数据文件test1.txt,内容为
1 a
2 b
准备工作已经结束,直接点击bat,之后查询test_loader_1表,就会看到有两条数据。
需求二、多数据文件导入一张数据表中
1、创建测试表:
create table test_loader_1(id number(4),name varchar2(20));
2、创建一个bat文件(在windows下可以直接调用命令行的)
sqlldr userid=scott/ruiyuan control=D:\sqlloader\user.ctl parallel=true
3、创建一个控制文件.ctl文件
LOAD DATA
INFILE 'D:\sqlloader\test1.txt'
INFILE 'D:\sqlloader\test2.txt'
APPEND INTO TABLE test_loader_1
FIELDS TERMINATED BY X'09' --(Tab分隔符)
TRAILING NULLCOLS
(ID,NAME)
4、创建数据文件test1.txt和test2.txt,内容为
test1.txt
1 a
2 b
test2.txt
3 c
4 d
准备工作已经结束,直接点击bat,之后查询test_loader_1表,就会看到数据在里面了。
需求三、单数据文件导入多张数据表中
1、创建测试表:
create table test_loader_1(id number(4),name varchar2(20));
create table test_loader_2(id number(4),name varchar2(20),password varchar2(20));
2、创建一个bat文件(在windows下可以直接调用命令行的)
sqlldr userid=scott/ruiyuan control=D:\sqlloader\user.ctl parallel=true
3、创建一个控制文件.ctl文件
LOAD DATA
INFILE 'D:\sqlloader\test1.txt'
APPEND INTO TABLE test_loader_1
WHEN TAB='ABC'
FIELDS TERMINATED BY X'09'
TRAILING NULLCOLS
(TAB FILLER POSITION(1:3),ID,NAME)
INTO TABLE test_loader_2
WHEN TAB='CBA'
FIELDS TERMINATED BY X'09'
TRAILING NULLCOLS
(TAB FILLER POSITION(1:4),
ID,
NAME,
PASSWORD
)
4、创建数据文件test1.txt内容为
test1.txt
ABC1 a
ABC2 b
CBA3 c
CBA4 d
准备工作已经结束,直接点击bat,之后查询test_loader_1和test_loader_2表,就会看到数据在里面了。
需求四、多数据文件导入多张数据表中
1、创建测试表:
create table test_loader_1(id number(4),name varchar2(20));
create table test_loader_2(id number(4),name varchar2(20),password varchar2(20));
2、创建一个bat文件(在windows下可以直接调用命令行的)
sqlldr userid=scott/ruiyuan control=D:\sqlloader\user.ctl parallel=true
3、创建一个控制文件.ctl文件
LOAD DATA
INFILE 'D:\sqlloader\test1.txt'
INFILE 'D:\sqlloader\test2.txt'
APPEND INTO TABLE test_loader_1
WHEN TAB='ABC'
FIELDS TERMINATED BY X'09'
TRAILING NULLCOLS
(TAB FILLER POSITION(1:3),ID,NAME)
INTO TABLE test_loader_2
WHEN TAB='CBA'
FIELDS TERMINATED BY X'09'
TRAILING NULLCOLS
(TAB FILLER POSITION(1:4),
ID,
NAME,
PASSWORD
)
4、创建数据文件test1.txt内容为
test1.txt
ABC1 a
ABC2 b
CBA3 c
CBA4 d
test2.txt
ABC1 a
ABC2 b
CBA3 c
CBA4 d
准备工作已经结束,直接点击bat,之后查询test_loader_1和test_loader_2表,就会看到数据在里面了。
目前没有解决的问题就是在第四种情况下,能精确指定每个表对应的数据文件是哪个,这样的话不用 WHEN
TAB='CBA' 进行字符串匹配,很节约CPU运算,文档中没提这事。
希望有此经历的大牛赐教!
http://blog.csdn.net/cupid1102/article/details/7357510
分享到:
相关推荐
在本篇文章中,我们将探讨如何使用SQL*Loader将dBASE数据库的数据转储到Oracle数据库。 首先,了解SQL*Loader的基本功能至关重要。SQL*Loader可以处理多种数据格式,包括固定格式、定界格式和变长记录。它支持多种...
1. **创建控制文件**:这是SQL*Loader操作的核心,定义了数据文件的格式、字段映射以及如何将数据加载到数据库表中。控制文件包含诸如字段名称、字段长度、数据类型、分隔符等信息。例如: ``` LOAD DATA INFILE ...
在本篇中,我们将深入探讨Oracle的数据导入导出及Sql Loader的使用方法。 1. **Oracle数据导入导出** Oracle提供了多种数据导入导出工具,包括`expdp`(Export Data Pump)和`impdp`(Import Data Pump)以及传统的...
这篇“sql loader用法小记”可能是博主对SQL Loader使用经验的总结和分享,虽然描述中没有具体信息,但从标签“源码”和“工具”可以推断,内容可能涉及到SQL Loader的基本操作、配置文件以及可能遇到的问题。...
本篇文章将深入探讨SQL*Loader的工作原理、使用方法以及如何通过界面操作它。 首先,我们来理解SQL*Loader的基本概念。SQL*Loader是Oracle提供的一种实用程序,它能够读取文本文件(通常称为控制文件或数据文件)中...
SQL*Loader(简称sqlldr)是Oracle数据库系统中一个强大的数据加载工具,它可以从外部文件高效地批量导入数据到数据库中。这篇博文将详细介绍sqlldr的使用实例,帮助你理解和掌握这一工具,以便在实际工作中更有效地...
总的来说,将Excel数据加载到Oracle9i数据库涉及到了数据转换、文件格式处理、数据库操作等多个环节,通过合理利用SQL*Loader工具和编写有效的控制文件,可以实现高效、准确的数据迁移。这个过程对于数据分析、报表...
这篇博客"SQL loader and oracle sql study"深入探讨了这个主题,旨在帮助用户理解和掌握如何高效地使用SQL Loader以及Oracle SQL。 SQL Loader的工作原理基于控制文件,这是一个包含有关如何处理数据文件的指令的...
SQL*Loader适用于大量数据的快速导入,而XMLType提供了对XML数据的直接操作和支持,更适合需要频繁查询和处理XML结构的场景。选择哪种方式取决于你的具体需求和数据量。在实际应用中,可能需要结合使用这两种方法,...
然后运行SQL*Loader命令来执行导入操作。这种方法适合大规模数据导入,但配置过程相对复杂。 2. **PL/SQL函数和存储过程**:对于小规模或者定制化的导入需求,可以编写PL/SQL代码来解析XML并插入数据。Oracle数据库...
SQL*Loader的操作需要一个控制文件,定义如何处理输入数据。 2. 执行SQL*Loader: ``` sqlldr username/password control=control_file.ctl log=log_file.log bad=bad_file.bad ``` 控制文件定义了数据加载...
Oracle提供了一个名为SQL*Loader的实用程序,它允许用户通过控制文件从外部数据源(如CSV或Excel)快速批量加载数据到Oracle表中。Excel文件通常需要先转换为CSV格式,因为SQL*Loader默认不直接支持Excel格式。 **...
SQL*Loader是Oracle提供的一种强大工具,专门用于将数据从外部文件批量加载到数据库表中。对于CSV文件,SQL*Loader通过控制文件定义数据格式,可以高效地完成导入工作。控制文件包含了字段映射、数据转换规则等配置...
本篇文章将深入探讨如何将数据从SQL Server导入到Oracle数据库,这对于数据迁移、数据整合或跨平台操作具有重要意义。 首先,我们来了解SQL Server和Oracle的基本特性。SQL Server是微软公司开发的一款关系型数据库...
本篇文章将详细讲解与“数据库导入工具”相关的知识点,特别是针对Oracle数据库的导入操作。 首先,Oracle数据库是全球广泛使用的大型关系型数据库管理系统,它提供了丰富的功能和高度的可扩展性,适用于各种规模的...
标题与描述都明确指出了本篇文章的核心内容:利用PL/SQL进行MDB文件向Oracle数据库的数据迁移工作。这一操作在实际业务场景中非常常见,尤其是在需要整合不同数据源或系统时。标题和描述虽然简短,但却直接点明了...
5. **使用Oracle SQL*Loader**:Oracle数据库系统提供了SQL*Loader工具,专门用于快速加载大量数据。 其次,大数据导入则涉及到更复杂的情况,通常数据量巨大,可能超过单台服务器的处理能力。在这种情况下,分布式...
- **数据导入导出过程中的编码转换问题**:如使用SQL*Loader、EXPDP/IMPDP等工具进行数据迁移时,未设置合适的字符集参数。 - **客户端工具设置不当**:如PL/SQL Developer、SQL Developer等,其配置的字符集与...
【SQL相关资料】这篇文档是关于数据库和SQL的入门介绍,涵盖了从基本概念到深入技术的多个方面。它由德国多特蒙德工业大学的Klaus Rüdiger Philipp教授讲解,分为十个部分,旨在帮助读者理解和掌握数据库系统、数据...
9. **数据迁移**:学习数据导入导出工具(如SQL*Loader、Data Pump),以及数据库版本升级和迁移。 10. **数据库设计**:涉及关系数据库理论,如何进行实体关系建模,以及规范化理论的应用。 通过这个多媒体教学,...