Oracle SQL*Loader 学习实例

Oracle64位 sqlldr命令安装包 oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M http://download.youkuaiyun.com/download/mysky2008/4382509 下载了10g的,但本地测试出现sql*loader 704错误,不知道怎么解决,也找不到其他资源,最后去找安装了完整版的同事,借鉴这个下载链接里面的文件,删除了其他没用到的东西(经历了好几个小时,一个一个dll测试过去),最后sqlplus, sqlldr可用。 如果是遇到sql*loader 284错误的,是因为缺少nls语言支持,可以到这里https://pan.baidu.com/s/1eRR0N0u 下载完整版的语言支持,之后覆盖nls这个目录就好。 解压后设置环境变量ORACLE_HOME 到client_1目录,TNS_ADMIN还是指向原来tnsnames.ora所在的目录,在Path加上BIN目录就可以了 如果使用sqlldr 报以下错误 可能环境变量少配置 Message 2100 not found; No message file for product=RDBMS, facility=UL 立即下载
写在前面的话

1、SQL*Loader作用:快速导入大数据量的文本数据,比如100万、500万。(其实也可以导入二进制,如图片、文档内容,但是一般用于导入文本)

2、SQL*Loader与dmp导入区别:dmp文件必须是Oracle数据库备份出来的文件,而且受制于表空间名称;SQL*Loader兼容其他数据库,需要构建控制文件,指定导入方式。

3、局限性:Oracle数据库;依赖于Oracle客户端。(如果需要执行SQLLoader命令,必须要有Oracle的运行环境)
实例
首先,执行SQL*Loader需要另个文件:控制文件、数据文件。
数据文件:对应一张表的数据内容。有固定的一个间隔符号,每一行标识数据表的一行记录,每一列标识数据表的一列记录。
控制文件:描述数据文件的内容要导入到哪个表中;数据文件的内容的导入方式、导入规则。
存在上述两个文件后,才能执行SQL*Loader命令。
1、TABLE_NAME.TXT文件内容如下图
图片
2、TABLE_NAME.TXT文件存放在D盘根目录下。
3、TABLE_NAME.CTL文件存放在根目录,内容如下:
load data 
infile 'D:/TABLE_NAME.txt'
append into table TABLE_NAME_TEMP
fields terminated by x'09'
TRAILING NULLCOLS
(
SYS_ZDM CHAR, 
SYS_MC CHAR
) 
4、 SQLLoader执行命令如下:
sqlldr userid=bank/orcl@orcl_itlicheng control=D:\TABLE_NAME.CTL log=D:\TABLE_NAME_2012-11-06.log bad=D:TABLE_NAME.BAD direct=true readsize=4194304 
执行命令前提:TABLE_NAME_TEMP表存在,且存在SYS_ZDM、SYS_MC字段。
这样,可以把文本文件的内容导入到表中。
注意:SQLLDR命令在Linux、Window操作系统下,通用;另外一个命令:SQLLoader,只能Linux中使用。 

SQL*Loader命令参数解释:
    userid -- ORACLE 用户名/口令
   control -- 控制文件名
       log -- 日志文件名
       bad -- 错误文件名
      data -- 数据文件名
   discard -- 废弃文件名
discardmax -- 允许废弃的文件的数目         (全部默认)
      skip -- 要跳过的逻辑记录的数目  (默认 0)
      load -- 要加载的逻辑记录的数目  (全部默认)
    errors -- 允许的错误的数目         (默认 50)
      rows -- 常规路径绑定数组中或直接路径保存数据间的行数
               (默认: 常规路径 64, 所有直接路径)
  bindsize -- 常规路径绑定数组的大小 (以字节计)  (默认 256000)
    silent -- 运行过程中隐藏消息 (标题,反馈,错误,废弃,分区)
    direct -- 使用直接路径                     (默认 FALSE)
   parfile -- 参数文件: 包含参数说明的文件的名称
  parallel -- 执行并行加载                    (默认 FALSE)

CTL控制文件参数详解:
load data :默认为关键字,占一行;
infile:需要导入的数据文件,占一行;如果是导入多个格式一致的数据文件,另起一行。
如:
infile 'D:\TABLE_NAME.1.TXT' 
infile 'D:\TABLE_NAME.2.TXT' 
infile 'D:\TABLE_NAME.3.TXT'  
append into table :导入规则。
规则包括truncate,清空前面导入的,只保留当前文件内容;append,追加; 
fields terminated by x'09' :每一列的间隔符号标识。x‘09’表示列标识为“TAB”(制表符)作为间隔符号。 
TRAILING NULLCOLS :允许字段为空值。 

最后,本次只是一个简单的应用实例,没有过多的技术参数详解;
本次只希望大家可以对SQL*Loader导入有一个初步的了解,懂得命令的构成,以及如何应用;
对于其原理以及一些特殊字段,如日期的处理,下一次我们继续。
希望能够对大家有帮助。 

通过sqlloader将csv中文件写入数据库中 通过sqlloader调用ctl文件将csv中文件写入数据库中,比较适合初学者,里面附有ctl文件 立即下载

相关推荐

sqlloader知识点

这是对Oracle的基本知识的操作。这是对Oracle的基本知识的操作。

sqluldr2在Windows中的使用

示例使用的环境: 64位 win10系统,Oracle 11g 下载: 链接:https://pan.baidu.com/s/16WsNpl3oBb2vryFjYs_oAQ 提取码:blel 下载后将第4个放到一个固定的目录下,我这里是放到了D:\sqluldr2下。 win+r 输入cmd 确保数据库是正常状态,然后进入刚刚的目录 执行 sqluldr264 这样就显示可以正常使用。 sqluldr2导出 1、导出表,以csv格式保存到D:\sqluldr2下,同时导出列头,ctl文件,log日志

JokerGreta的博客 2535

oracle SQL Loader使用实例

oracle sql loader的简单使用实例

Win10使用sqlldr录入大量数据到远程Oracle数据库

一、背景 在别的机器配置了Oracle数据库,本机配置了Oracle客户端。今天刚好要录一份1000w的数据到Oracle数据库测试程序,Google一番之后,初定两种录入方式: Navicat直接导入。有图形界面,傻瓜式操作,但速度稍微慢了些,1000w的数据录了2小时。 通过sqlldr工具批量录入。1000w大概15分钟录完,不过要写个ctl文件。 第一种方案太慢了,不能满足需求,决定采用第二个想法。 二、配置sqlldr 顺便提下怎么配置Oracle客户端,先到Oracle客户端下载图中标识的

yaorcs的博客 3644

歪枣网股票数据下载接口汇总一

歪枣网上下载接口动态信息如下: 接口名称:A股列表,接口描述:沪深京A股基本信息,接口地址:/doc/getStockHSABaseInfo?code=all&fields=code,name,stype,hsgt,bk,roe,zgb,ltgb&export=0&token= 请求参数描述: 参数名:code,参数描述:股票代码,支持批量查询,用逗号分隔,每次最多30个;若为all,则表示全部,即可获取任意一天内的所有数据。 请求参数描述: 参数名:fields,参数描述:数据字段

waizaowang的博客 2731

激光测距仪DIY指南:从元器件选型到精度优化(附避坑清单)

本文提供了一份详尽的激光测距仪DIY实战指南,涵盖从核心元器件选型到系统集成的全过程。重点解析了相位法测距原理,并分享了激光发射器与APD探测器选型、信号链路设计、低成本改造方案以及精度校准等关键环节的避坑经验,帮助电子爱好者与开发者深入理解并成功搭建高精度测距系统。

h6i7j8的博客 944

sqlloader的使用------windows版

一.  作用 SQL*LOADER是ORACLE的数据加载工具,用来将文件导入到ORACL数据库,可以导入一个表或者多个表,甚至可以在导入时修改数据。 二. ORACLE下载地址 sqlloader需要电脑上有sqlldr文件才可实现传输功能,如果没有无法使用sqlloader,由于网上有很多ORACLE是精简版本的,精简版安装完成后oracle包中没有sqlldr.exe这个文件,这里我提...

IT一股清流的博客 1万+

Transformer实战(30)——Transformer注意力机制可视化

在本节中,我们讨论了人工智能面临的最重要问题之一:可解释人工智能 (explainable artificial intelligence, XAI)。随着语言模型的不断发展,可解释性成为一个严峻的问题。本节中,我们从 Transformer 的角度出发,研究了 Transformer 架构中的自注意力机制,尝试通过各种可视化工具理解这些机制的内部过程。

盼小辉丶的博客 2642

Windows操作系统上sqlloader的使用

Windows操作系统上sqlloader的使用一、介绍二、确认是否有sqlldr.exe应用程序三、实现txt文件导入到数据库3.1 创建表结构3.2 创建emp.txt文件(数据文件)3.3 创建emp.ctl文件(控制文件)3.4 执行命令3.5 查看数据 一、介绍 SQL*LOADER是ORACLE的数据加载工具,用来将文件导入到ORACL数据库,可以导入一个表或者多个表,甚至可以在导入时修改数据。 二、确认是否有sqlldr.exe应用程序 1、在ORACLE_HOME/bin目录下查看是否有sq

SummyZha的博客 2339

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1500

C#与欧姆龙PLC 通信——Fins Tcp协议

该调试助手专门为了帮助大家学习以及测试Fins-Tcp通信,下面进行详细介绍。

qq_34059233的博客 2083

Oracle SQL*Loader 与 SQLULDR2 学习指南

控制文件 (Control File):定义数据加载规则,包括数据文件路径、目标表、字段映射等。作用:Oracle 官方工具,用于将外部数据文件(如 CSV、文本文件)高效加载到数据库表中。作用:第三方工具(非 Oracle 官方),用于从 Oracle 数据库高效导出数据到文件。直接路径加载:通过 DIRECT=TRUE 提升性能(需注意表锁定)。日志文件 (Log File):记录加载过程的详细信息。错误文件 (Bad File):存储无法加载的数据。性能远超传统 UTL_FILE 或 SPOOL。

瑞琪姐的运维小站 1215

ESP32-S3模组上跑通esp32-camera(32)

ESP32-S3模组上跑通esp32-camera(32)

phmatthaus的专栏 772

Oracle SQL*Loader学习例子

例子所需材料 测试表 数据文件(.csv或.dat等格式,我们将使用.csv) control文件 创建测试表 假设我们有一张员工表 EMP create table EMP( EMPNO NUMBER(4) not null, ename VARCHAR2(10), JOB VARCHAR2(9), ...

落叶无声的专栏 1056

【AI智能体】Spring AI Tool 从使用到实战详解

Spring AI Tool

congge 5865

【AI大模型应用开发】【LangChain系列】实战案例6:利用大模型进行文本总结的方法探索,文本Token超限怎么办?

假设有一组文档(PDF、Notion页面、客户问题等),你想要总结内容。可以利用大模型来帮你。今天来系统看下利用大模型来对文本进行总结的方法,以LangChain的使用为例。

同学小张的博客 3749

Oracle - 3 - 【学习笔记】for ocp 12c、SQL*Loader

https://zhidao.baidu.com/question/112852249.html

LawssssCat的博客 451

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

又一天过去了……今天感觉收获不少~

虽然脑袋还是略微有些晕眩感但已经能较正常的看看Oracle,在VM上练习练习了 感觉今天看了不少东西SQL*Loader和LogMiner都是Oracle比较重要的工具而且,学习的主要依据是Oracle官网文档这一大片一大片的...

ciyingying9408的博客 79

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

sqlldr的使用

1,在公司进行预处理的时候,发现文件不能入库,而公司前辈使用的是sqlldr的技术将解析后的文件入库,前辈在测试的时候使用的是本机上的数据库(见图一),没有使用完整的远程连接oracle的正确方式,所以导致入库时在生成的日志wenj文件中报出TNS 连接标志错误的异常。 (图一:https://blog.youkuaiyun.com/a_222850215/article/details/8000150...

mark_lirenhe的博客 3357

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

第十四章-导出与导入

Oracle数据导出与导入

qq_51922077的博客 344

SQL*Loader的使用总结(一)

SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,使用SQLLDR工具可以在很短的时间内向数据库中加载大量的数据,像把制作好的excel表格导入数据库,可以说非常方便,相关的数据加载和卸载工具还有外部表,IMP/EXP,数据泵等,其实呢~ 关于SQL*Loader的学习多数时间是花在了琢磨sqlldr控制文件的写法上,下面来总结我的SQL*Loader学习过程和

不忘初心、方得始终 3万+

Oracle SQL*Loader

一、SQL*Loader的体系结构     SQL*Loader由一个输入控制文件来控制整个装载的相关描述信息,一个或多个数据文件作为原始数据,其详细组成结构包括         Input Datafiles     -->装载到数据库的原始数据文件         Loader Control file  -->提供给QL*Loader寻找及翻译数据的相关信息

Watson的专栏 2485

Oracle SQL*Loader 使用简介

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 |(个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle SQL*Loader 使用简介,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!前面一文简单介绍了 ...

JiekeXu的博客 1640

sql*loader

简介 SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。SQLLDR可以在极短的时间内加载数量庞大的数据。它有两种操作模式。 传统路径:(conventional path):SQLLDR会利用SQL插入为我们加载数据。 直接路径(direct path):采用这种模式,SQLLDR不使用SQL;而是直接格式化数据库块。 利用直接路径加载,你能从一个平面文件读数据,并将其直接写至格式化的数据库块,而绕过整个

weixin_39259749的博客 5966
上一篇: 关于Java按值传递的学习
下一篇: 双色球随机算法学习
Fish_LC
博客等级 码龄19年 55粉丝 52原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值