`
hanqunfeng
  • 浏览: 1543302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle批量导入csv文件

 
阅读更多
数据表:
CREATE TABLE "CARDV2"."TBL_VERSION" 
   ("ID" NUMBER(20,0) NOT NULL ENABLE, 
"VERSION" VARCHAR2(500 BYTE), 
"CREATEDATE" DATE NOT NULL ENABLE, 
"NUM" NUMBER(10,0), 
"CITY" VARCHAR2(20 BYTE), 
"DES" VARCHAR2(100 BYTE), 
 CONSTRAINT "TBL_VERSION_PK" PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  TABLESPACE "USER_DATA"  ENABLE
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  TABLESPACE "USER_DATA" ;
 
 
控制文件:
TBL_VERSION.ctl
load
append into table CARDV2.TBL_VERSION
fields terminated by ","
trailing nullcols  
(
ID "cardv2.SEQ_VERSION.nextval",
VERSION char(500),
CREATEDATE "sysdate",
NUM,
CITY,
DES
)
 
说明:
fields terminated by "," :字段间以逗号分隔
trailing nullcols  :如要导入源文件此列内容为空,在导入到数据库表时,此列内容就是null
ID "cardv2.SEQ_VERSION.nextval" : 此例用序列值替换
CREATEDATE "sysdate" : 此例用sysdata替换
 
字段格式为:字段名称 字段类型(可以不写) “字段值”(引号扩起来)
比如:CREATEDATE "sysdate" ==》CREATEDATE date "sysdate",
如果数据文件中已经明确给出日期的值,比如2015-01-01,则可以修改控制文件CREATEDATE date "yyyy-mm-dd",此时date类型必须明确给出,
如果不想使用类型,也可以通过函数的方式实现,CREATEDATE  "to_date(:createdate,'yyyy-mm-dd')"
 
 
csv数据文件:
TBL_VERSION.data
1,1.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,BEIJING,desc1
1,2.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,,,desc2
1,3.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,1,BEIJING,desc3
1,4.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,,desc4
1,5.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,SHANGHAI,desc5
1,6.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,,desc6
1,7.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,,desc7
1,8.0.2.30.45#2.36.10.25#1.25.36.85,sysdate,0,,desc8
 
 
导入命令:
sqlldr cardv2/password@oracle control=./TBL_VERSION.ctl data=./TBL_VERSION.data log=./TBL_VERSION.log bad=./TBL_VERSION.bad errors=1000
 
参数说明:
control -    控制文件 
log -        记录的日志文件 
bad -        坏数据文件,记录错误的未加载数据 
data -       数据文件
errors -     允许的错误记录数,超过则终止任务         (默认50) 
相关参数说明可参考:http://dbua.iteye.com/blog/1570018
 
另,Oracle 导出导入数据参考:
http://www.cnblogs.com/muliang/archive/2013/08/04/3237216.html
 
 
补充:
1.导入文件中如果包含中文,可能会出现乱码问题,需要在环境变量中配置字符集:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
 
2.数据文件也可以写在控制文件中
TBL_VERSION.ctl
load data
infile "/home/oracle/TBL_VERSION.data"
append into table CARDV2.TBL_VERSION
fields terminated by ","
trailing nullcols  
(
ID "cardv2.SEQ_VERSION.nextval",
VERSION char(500),
CREATEDATE "sysdate",
NUM,
CITY,
DES
)
 
sqlldr cardv2/misspell@oracle control=./TBL_VERSION.ctl  log=./TBL_VERSION.log bad=./TBL_VERSION.bad errors=1000
分享到:
评论

相关推荐

    Oracle导入CSV格式数据

    总结,Oracle导入CSV格式数据涉及多个步骤,包括准备CSV文件、创建控制文件、执行SQL*Loader导入以及处理可能出现的问题。理解并掌握这些步骤,能有效帮助你在实际工作中高效地导入大量CSV数据到Oracle数据库。

    Oracle大数据量导入(CSV导入)

    这篇博文“Oracle大数据量导入(CSV导入)”将深入探讨如何使用Oracle的各种工具和技术来导入CSV(逗号分隔值)文件,这是一种常见的数据格式。下面我们将详细讨论相关知识点。 1. **SQL*Loader** SQL*Loader是...

    如何通过txt文件批量导入数据到oracle数据库

    因此,我们需要掌握如何通过TXT文件批量导入数据到Oracle数据库的方法。下面,我们将详细介绍这一过程。 首先,我们需要了解TXT文件的数据格式。通常,TXT文件中的数据是以特定分隔符(如逗号、制表符等)区分各个...

    照片批量导入导出

    3. **批量导入**:批量导入通常使用SQL命令如`INSERT`或Oracle的专用工具如SQL*Loader、External Tables等。批量导入可以大大提高效率,尤其当需要一次性处理大量照片时。 4. **批量导出**:导出照片通常通过查询...

    文件批量导入数据到oracle数据库

    首先,"文件批量导入数据到Oracle数据库"指的是将一个或多个文本文件(例如CSV、TXT格式)中的数据一次性加载到Oracle数据库的表中。这种操作可以极大地提高效率,尤其是在处理大量数据时,比逐条插入更有效率。常用...

    excel批量导入oracle数据库

    可以使用Python的pandas库或VBA宏来读取Excel文件,并将数据保存为CSV文件,因为Oracle数据库通常通过SQL*Loader或PL/SQL过程来处理CSV格式的数据。 4. **使用SQL*Loader**:SQL*Loader是Oracle提供的一个工具,...

    oracle 文本导入工具

    Oracle文本导入工具是一种实用程序,专门设计用于将TXT和CSV格式的数据文件批量导入到Oracle数据库中。这个工具是由开发者自己编写的,旨在简化数据导入过程,提高效率,并可能解决传统方法(如SQL*Loader或SQL命令...

    Oracle批量导入文本文件快速的方法(sqlldr实现)

    Oracle数据库是广泛使用的大型数据库系统,它提供了多种数据导入方式,其中使用sqlldr工具进行批量数据导入是一种高效的方式。在处理大批量数据导入时,简单的插入语句可能会因为性能问题而导致导入速度过慢,这时...

    bat脚本将csv格式UTF-8批量转ANSI

    标题中的"bat脚本将csv格式UTF-8批量转ANSI"指的是利用批处理脚本来自动化转换一批UTF-8编码的CSV文件为ANSI编码。批处理脚本是Windows操作系统中的一种简单程序,它由一系列命令组成,可以一次执行多个命令,节省了...

    plsql批量导入数据

    当我们需要处理大量数据导入任务时,PLSQL提供了多种方法来实现批量导入,这些方法高效且灵活。本文将详细介绍如何在PLSQL中进行批量导入数据。 一、SQL*Loader SQL*Loader是Oracle提供的一个命令行工具,它能够...

    使用kettle将文本文件导入到数据库

    一个简单的例子,使用kettle将文本文件导入到数据库

    oracle 快速导出数据至cvs文件

    非常好用的,速度超快,免费的。请支持原作者,微博名:云计算民工。我只是搬运工。教程请自行去搜。

    Oracle 数据导入工具

    在Oracle环境中,SQL*Loader是这样一个强大的工具,它允许用户快速地从外部数据文件批量导入数据,而无需编写复杂的PL/SQL代码或使用常规的INSERT语句。本篇文章将深入探讨SQL*Loader的工作原理、使用方法以及如何...

    批量导入数据,大数据导入

    在提供的"sqltest.rar"和"Data.rar"压缩包中,很可能包含了SQL脚本和示例数据文件,用于演示如何批量导入数据和评估性能。通过解压并运行这些文件,你可以亲自体验和比较不同导入方法的速度差异,例如百万条数据在...

    Oracle数据导入工具 V2.0

    4. **错误处理**:在批量导入大量数据时,错误是难以避免的。一个优秀的数据导入工具会提供错误处理机制,比如错误日志记录,这样可以定位并修复问题数据,而不影响整个导入过程。 5. **安全性**:在导入数据时,...

    excle批量导入导出

    - **数据源**:批量导入的数据源可能来自文本文件(如CSV、TXT)、数据库文件、XML文件或其他Excel工作簿。 - **数据导入向导**:Excel提供了数据导入向导,用户可以通过选择“数据”菜单 -> “从文本/CSV”或...

    oracle自动导入数据

    在Oracle数据库管理中,自动导入数据是一项常见的任务,特别是在处理大量结构化数据时,例如从Excel表格批量导入数据。Oracle提供了多种工具和技术来实现这一功能,使得数据迁移和整合变得更加高效。下面我们将深入...

    excel(.csv格式)导入oracle未完成

    将CSV文件导入Oracle,我们需要考虑以下步骤: 1. **数据预处理**:由于源Excel文件的表结构与目标Oracle表结构不一致,可能需要对CSV数据进行预处理,包括字段映射、数据类型转换、空值处理等。配置文件在这里可以...

    oracle导入表导入数据实例

    SQL*Loader是Oracle提供的一种快速、高效的数据加载工具,能够从文本文件或者二进制文件中批量导入大量数据到Oracle表中。它允许用户自定义数据格式,并且支持多种数据源,使得数据迁移和备份变得简单。 2. **导入...

    批量导入数据

    批量导入是指将大量数据一次性或按照预设的批次输入到数据库、文件系统或其他数据存储平台。这通常涉及到文件上传、数据转换、数据验证和加载等多个步骤。 2. **数据格式规范**: 描述中提到“格式比较规范”,这...

Global site tag (gtag.js) - Google Analytics