Oracle数据库sqlload用法的相关知识是本文我们主要要介绍的内容,那么什么是sqlload呢?看完下面的例子我们就知道了。当用Oracle数据库处理百万级别数据时,选择sqlload应该是比较好的方案。下面是自学sqlload的例子,供初学者参考。
1、在哪儿运行sqlload?
首先,电脑上至少装有oracle客户端程序,在这里就可以执行sqlload,运行-->cmd--->sqlldr。里面有很多注释可以自己参考。
2、控制文件
写sqlload需要的控制文件.ctl或者.cvs格式。
control.ctl内容:
- LOAD DATA
- INFILE 'f:\TL_FUND_MMS_BATCH.txt'
- BADFILE 'f:\BAD_TL_FUND_MMS_BATCH1.dat'
- APPEND
- INTO TABLE tl_fund_mms_batch
- Fields terminated by ","
- Optionally enclosed by '"'
- trailing nullcols
- (
- NUMBATCHSEQID ,
- VC2BATCHNAME,
- VC2RESOURCEID,
- NUMCOUNTTOTAL ,
- NUMCOUNTSUCS,
- NUMCOUNTLONG ,
- NUMCOUNTFAILD ,
- VC2BILLPATH,
- NUMCREATEUSERID ,
- NUMSENDUSERID ,
- NUMDEALFLAG,
- DATCREATETIME DATE "YYYY-MM-DD HH24:MI:SS",
- DATSENDTIME DATE "YYYY-MM-DD HH24:MI:SS"
- )
3、数据文件
- TL_FUND_MMS_BATCH.txt内容:103,"肖测试", "0111022109240241310006", 1, 1, 0, 0,
- "../webapps/billFiles\data(2).xml", 900000, 900000, 2,2011-4-28 15:50:26,2011-4-28 15:50:26
4、执行命令
我把所有文件都放到了F盘:
执行命令:sqlldr mjjzh/mjjzh@orcl f:\control.ctl log=f:\log.log
5、查看日志
如果执行完命令,在指定的目录下就会生成日志信息,如果执行过程中有错误,就会在相应的目录下生成坏数据文件,有错误的时候也会打印这句话:达到提交点 - 逻辑记录计数 1。不要认为打印了这句就认为执行成功了。
log.log内容:
- SQL*Loader: Release 10.2.0.1.0 - Production on 星期四 5月 12 17:01:38 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- 控制文件: f:\control.ctl
- 数据文件: f:\TL_FUND_MMS_BATCH.txt
- 错误文件: f:\BAD_TL_FUND_MMS_BATCH1.dat
- 废弃文件: 未作指定
- (可废弃所有记录)
- 要加载的数: ALL
- 要跳过的数: 0
- 允许的错误: 50
- 绑定数组: 64 行, 最大 256000 字节
- 继续: 未作指定
- 所用路径: 常规
- 表 TL_FUND_MMS_BATCH,已加载从每个逻辑记录
- 插入选项对此表 APPEND 生效
- TRAILING NULLCOLS 选项生效
- 列名 位置 长度 中止 包装数据类型
- ------------------------------ ---------- ----- ---- -------------------------
- NUMBATCHSEQID FIRST * , O (") CHARACTER
- VC2BATCHNAME NEXT * , O (") CHARACTER
- VC2RESOURCEID NEXT * , O (") CHARACTER
- NUMCOUNTTOTAL NEXT * , O (") CHARACTER
- NUMCOUNTSUCS NEXT * , O (") CHARACTER
- NUMCOUNTLONG NEXT * , O (") CHARACTER
- NUMCOUNTFAILD NEXT * , O (") CHARACTER
- VC2BILLPATH NEXT * , O (") CHARACTER
- NUMCREATEUSERID NEXT * , O (") CHARACTER
- NUMSENDUSERID NEXT * , O (") CHARACTER
- NUMDEALFLAG NEXT * , O (") CHARACTER
- DATCREATETIME NEXT * , O (") DATE YYYY-MM-DD HH24:MI:SS
- DATSENDTIME NEXT * , O (") DATE YYYY-MM-DD HH24:MI:SS
- 记录 1: 被拒绝 - 表 TL_FUND_MMS_BATCH 出现错误。
- ORA-00001: unique constraint (MJJZH.PK_TL_FUND_MMS_BATCH) violated
- 注:ORA-00001: unique constraint (MJJZH.PK_TL_FUND_MMS_BATCH) violated,是因为主键重复。
- 表 TL_FUND_MMS_BATCH:
- 0 行 加载成功。
- 由于数据错误, 1 行 没有加载。
- 由于所有 WHEN 子句失败, 0 行 没有加载。
- 由于所有字段都为空的, 0 行 没有加载。
- 为绑定数组分配的空间: 214656 字节 (64 行)
- 读取 缓冲区字节数: 1048576
- 跳过的逻辑记录总数: 0
- 读取的逻辑记录总数: 1
- 拒绝的逻辑记录总数: 1
- 废弃的逻辑记录总数: 0
- 从 星期四 5月 12 17:01:38 2011 开始运行
- 在 星期四 5月 12 17:01:39 2011 处运行结束
- 经过时间为: 00: 00: 01.20
- CPU 时间为: 00: 00: 00.06
6、注意事项:
①、日期格式转换:表中的最后两个字段是日期格式,这里需做 DATCREATETIME DATE "YYYY-MM-DD HH24:MI:SS", 转换,相当于to_date()。且数据文件中是2011-4-28 15:50:26格式,不是"2011-4-28 15:50:26"格式。否则会出错。(后来测试的时候发现带上也不会出错了,奇怪。)
②、插入数据库中的内容包含":如果数据文件中是"肖测试",控制文件中需加上Optionally enclosed by '"',这样在插入数据库时,内容就不包含"",下面是加Optionally enclosed by '"'与不加的效果。
关于Oracle数据库sqlload用法的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
相关推荐
SQLLOAD是Oracle数据库提供的一种快速数据加载工具,主要用于大量数据的批量导入,它能显著提高数据导入的效率。本实例将向你展示如何使用SQLLOAD进行数据导入,并附带了相应的语句和批处理文件,以便你理解并实践...
Oracle SQL Loader 使用实例 Oracle SQL Loader 是一种强大的数据导入工具,允许用户从文本文件或其他数据源中导入数据到 Oracle 数据库中。本文将详细介绍 Oracle SQL Loader 的使用实例,包括建立文本文件、编写...
### SQL Load运用总结:Oracle SQL Loader深入解析 SQL Load,更准确地说,是Oracle SQL Loader,是一种高效的数据加载工具,用于将外部数据源中的数据批量加载到Oracle数据库中。SQL Loader支持多种数据格式,包括...
而在UNIX系统下,则通常为`sqlldr`或`sqlload`。例如,若在Windows环境下运行SQL Loader,可以使用以下命令: ``` d:\oracle>sqlldr ``` 运行此命令后,将显示SQL Loader的版本信息、版权声明以及基础的使用语法。...
11. **LOAD, UNLOAD指令**:用于导入和导出数据,通常使用SQL*Loader(LOAD)和Export/Import utilities(UNLOAD)。 12. **Sqlplus内的一些命令**:在SQLPLUS环境中,有各种命令,如`RUN`, `EXIT`, `SPOOL`等,...
总结一下,本实例展示了如何使用SQL*Loader处理包含日期格式的文本数据,并将其高效地导入到Oracle数据库中。通过自定义控制文件,我们可以灵活地转换和格式化数据,使其满足数据库表的要求。同时,利用序列自动填充...
本实例主要探讨如何使用Oracle的数据导入工具——SQL*Loader,通过控制文件(`.ctl`)来执行这一过程。以下是对"oracle导入表导入数据实例"的详细解析: 1. **SQL*Loader简介** SQL*Loader是Oracle提供的一种快速...
确保IP地址和端口号正确,并且SERVICE_NAME匹配Oracle服务实例的名称。 在数据导入方面,Oracle SQL提供了一个实用工具——SQL*Loader,它可以将Excel数据批量导入Oracle数据库。首先,Excel数据需要被保存为CSV...
### Oracle RAC数据库Load Balance问题解析 #### 概述 Oracle Real Application Clusters (RAC) 是一种集群数据库解决方案,旨在提高应用程序的可用性和可扩展性。为了确保资源的高效利用,RAC 集群通常采用负载...
在这个"oracle批上传实例"中,我们将深入探讨如何使用SQL*Loader进行数据批量导入。 首先,SQL*Loader的工作原理是读取外部数据文件,并将其加载到Oracle表中。它通过控制文件定义了数据文件与数据库表之间的映射...
// Load the Oracle JDBC driver DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); // Connect to the database String url = "jdbc:oracle:thin:@10.142.40.11:1521:TESTDB"; String ...
### Java连接Oracle数据库实例详解 #### 一、引言 在现代软件开发中,Java作为最流行的编程语言之一,广泛应用于各种应用场景,特别是在企业级应用领域。而在这些应用中,数据库操作是必不可少的一部分。Oracle...
以下是对标题“Oracle AWR 报告分析实例讲解”及其描述中的知识点的详细解释: 1. **AWR 报告结构**: AWR 报告主要包含数据库的基本信息,如DB Name、DB Id、Instance、Release、RAC状态、Host等。例如,此实例中...
6. 数据库负载概况:通过AWR报告中的Load Profile,我们可以得到每秒或每事务的性能指标,例如每秒事务数、每秒SQL执行次数、每秒物理读写次数等。这些指标通常要与历史基线数据比较,才能更有效地评估应用运行的...
本教程“基于Oracle的数据仓库&BI系统实例经典教程”旨在提供一个深入学习的平台,帮助用户提升相关技能。 数据仓库是一种集中式的、面向主题的、集成的、非易失性且随时间变化的数据集合,它主要用于报告和数据...
Sql Loader 是 Oracle 数据库提供的一种批量数据加载工具,主要用于快速高效地将大量数据从文本文件导入到数据库表中。在 C# 开发环境中,我们可以通过操作系统级别的交互来调用 Sql Loader,实现数据的批量导入。在...
而在UNIX环境下,命令则为`sqlldr`或`sqlload`。 当你在命令行输入`sqlldr`时,系统会显示帮助信息,其中包括了SQL*LOADER的基本用法和有效关键字列表。例如: ``` SQL*Loader: Release 8.1.6.0.0 - Production on...
根据提供的文件信息,我们可以归纳出一系列与Oracle数据库维护相关的SQL语句知识点。这些知识点主要涵盖了查询当前会话信息、查询特定会话的操作系统ID、获取指定会话正在执行的SQL语句、根据对象查找相关会话信息、...
除了SQL*Loader,Oracle还提供了其他工具,如SQL Developer的“数据导入”功能,或者PL/SQL的BULK COLLECT和INSERT语句。选择哪种方法取决于具体需求和环境。 总结,Oracle导入CSV格式数据涉及多个步骤,包括准备...