位置: 编程技术 - 正文

SqlLoader怎么使用(sqlloader语法)

编辑:rootadmin

推荐整理分享SqlLoader怎么使用(sqlloader语法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlloader926,sqlload用法,sqlloader-926,sqlloader 使用函数,sqlloader926,sqlloader append,sqlloader命令,sqlloader-926,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。今天看了申请了*loader的使用,自己小试了下,记录在这

1、假设要插入数据的表ftest,字段是(id,username,password,sj)

2、导入表的数据 以txt格式存储,名为data.txt

3、写控制文件,格式为ctl,命名为cont.ctl 内容如下:

注:如果表中没有数据就用insert,有数据就用append,删除旧数据插入新的数据用replace或truncate

4 在cmd命令窗口中执行

5 在plsql中查看表ftest

查看已成功插入。

重新学习sqlldr

sqlldr导入数据的一个最简单例子:

sqlldr导入的四种加载方式:

APPEND :原先的表有数据 就加在后面 INSERT:装载空表 如果原先的表有数据 sqlloader会停止 默认值 REPLACE :原先的表有数据 原先的数据会全部删除 TRUNCATE :指定的内容和replace的相同 会用truncate语句删除现存数据

用SQLLDR加载数据的FAQ

1、如何加载定界数据

1)定界数据即用某个特殊字符分隔的数据,可能用引号括起,这是当前平面文件最常见的数据格式。 对于定界数据,最常用的格式是逗号分隔值格式。采用这种文件格式,数据中的每个字段与下一个字段用一个逗号分隔。文本串可以用引号括起,这样就串本身包含逗号。如果串还必须包含引号,一般约定是使用两个引号。加载定界数据,相应的典型控制文件与前面例子相似,但是fields terminated by子句通常如下指定:

它指定用逗号分隔数据字段,每个字段可以用双引号括起。如果把这个控制文件的最后部分修改如下:

2)另一种常用的格式是制表符定界数据。有两种方法使用terminated by子句来加载这种数据:

terminated by X'' --使用十六进制格式的制表符;若用ASCII,制表符应该是9

Sales --因为一旦遇到一个制表符就会输出一个值。

因此,将赋给deptno,dname得到了null,因为在第一个制表符和第二个制表符之间没有数据

3)sqlldr的filler关键字使用

如跳过制表符

2、如何加载固定格式数据

要加载定宽的固定位置数据,将会在控制文件中使用position关键字。

这个控制文件没有使用terminated by子句;而是使用了position来告诉sqlldr 字段从哪里开始,到哪里结束。对于position,我们可以使用重叠的位置,可以在记录中来回反复。如下修改dept表:

并使用如下控制文件:

使用position时,可以使用相对偏移量,也可以使用绝对偏移量。前面的例子使用了绝对偏移量,明确指定字段从哪开始,从哪结束,也可以将前面的控制文件改写如下:

*指示控制文件得出上一个字段在哪里结束。因此,在这种情况下,(*:)与(3:)是一样的。注意,控制文件可以混合使用相对位置和绝对位置。另外,使用*表示法时,可以把它与偏移量相加。例如dname从deptno结束之后的;两个字符开始,可以使用(*+2:),即相当于(5:).

position子句中的结束位置必须是数据结束的绝对列位置。有时,可能指定每个字段的长度更为容易,特别是如果这些字段是连续的。采用这种

方式,只需告诉sqlldr:记录从第一个字节开始,然后指定每个字段的长度。如下:

3、如何加载日期

使用sqlldr加载日期只需在控制文件中date数据类型,并指定要使用的日期掩码。这个日期掩码与数据库中to_char和to_date中使用的日期掩码一样。

如修改dept表如下:

SqlLoader怎么使用(sqlloader语法)

4、如何使用函数加载数据

如果想确保加载的数据是大写的,可以改写控制文件如下:

如下控制文件加载数据无法导入

1)TRAILING NULLCOLS的使用:一般默认用的好

解决方法,就是使用TRAILING NULLCOLS。这样,如果输入记录中不存在某一列的数据,sqlldr就会为该列绑定一个null值。

这种情况下,增加TRAILING NULLCOLS会导致绑定变量:entire_line成为null。

2)case在sqlldr中的使用

假设输入文件中有以下格式的日期:HH:MI:SS:只有一个时间;日期时间默认为sysdateDD/MM/YYYY:只有一个日期,时间默认为午夜0点HH:MI:SS DD/MM/YYYY:日期时间都显式提供

可用如下的控制文件

5、如何加载有内嵌换行符的数据

1)用非换行符的其它字符来表示换行符,并在加载时使用一个sql函数用一个CHR()替换该文本。

注:调用中必须用\n来表示替换符,而不是n

2)在infile指令上使用FIX属性,加载一个定长平面文件。 使用该方法,输入数据必须出现在定长记录中。对于固定位置的数据,使用FIX属性就特别合适,这些文件一般为定长文件。 另外使用该方法时,数据必须在外部存储,不能存储在控制文件本身。

注:

在unix上,行结束标记是n即CHR(),而windows nt平台的行结束标记是rn即CHR()||CHR(); 可以在控制文件中使用trim内置sql函数来完成截断尾部的空白符

3)在infile指令在、上使用VAR属性,加载一个变宽文件,在该文件使用的格式中,每一行前几个字节指定了这一行的长度

注:在unix上换行符只算一个字节,在windows nt上算两个字节

4)在infile指令上使用STR属性,加载一个变宽文件,其中用某个字符序列来表示行结束符,而不是用换行符表示 STR属性以十六进制指定,要得到十六进制串,最容易的办法就是使用sql和utl_raw来生成十六进制串。如在unix平台,行结束标记是CHR(),我们的特殊字符是一个管道符号(|),则可以写成:

在windows上用

6、加载lob数据

1)加载内联的lob数据。这些lob数据通常内嵌有换行符和其他特殊字符

2)加载外联的lob数据。

需要把包含有一些文件名的数据文件加载在lob中,而不是让lob数据与结构化数据混在一起。这样就不必使用上述的4种方法之一来避开输入数据中的内嵌换行符问题,而这种情况在大量的文本或二进制数据中频繁出现。sqlldr称这种额外的数据文件为lobfile。 sqlldr还可以支持加载结构化数据文件。可以告诉sqlldr如何从另外一个文件解析lob数据,这样就可以加载其中的一部分作为结构化数据中的每一行。sqlldr称这种外部引用的文件为复杂二级数据文件。

lobfile数据采用以下某种格式:

定长字段(从lobfile加载字节到); 定界字段(以某个字符结束,或用某个字符括起);--最常见,以一个文件结束符(EOF)结束 长度/值对,这是一个边长字段

3)将lob数据加载到对象列

一般用于加载图像

加载这种数据的控制文件如下所示:

注:column object告诉sqlldr这不是一个列名,而是列名的一部分。

使用的列名是image.source.localdata

额外介绍:

使用plsql加载lob数据

注:

创建的目录默认为大写DIR1,如果目录写成dir1就会提示错误,如果要想使用混有大小写的目录名,在创建这样的目录时应该带引号的标识符,如下所示:

以上内容是小编给大家分享的关于SqlLoader怎么使用的相关资料,希望大家喜欢。

SQLServer存储过程中事务的使用方法 本文为大家分享了SQLServer存储过程中事务的使用方法,具体代码如下createprocusp_Stock@GoodsIdint,@Numberint,@StockPricemoney,@SupplierIdint,@EmpIdint,@StockUnitvarchar(),@Sto

sqlserver锁表、解锁、查看销表的方法 锁定数据库的一个表SELECT*FROMtableWITH(HOLDLOCK)注意:锁定数据库的一个表的区别SELECT*FROMtableWITH(HOLDLOCK)其他事务可以读取表,但不能更新删除SELECT*FROMtableWIT

浅析SQL Server中的执行计划缓存(上) 简介我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径。当我们写的SQL语句传到SQLServer的时候,查询分析器会将语句依次进

标签: sqlloader语法

本文链接地址:https://www.jiuchutong.com/biancheng/312857.html 转载请保留说明!

上一篇:SQL LOADER错误小结(sqlloader-350错误)

下一篇:SQLServer存储过程中事务的使用方法(sqlserver存储过程声明变量)

  • 个体工商户能开多少钱的普票
  • 新车车船税怎么交
  • 以前年度免减的税怎么算
  • 买交强险需要把车开过去吗
  • 什么需要填
  • 个体户没做过账怎么办
  • 与收益相关的政府补助会计分录总额法
  • 填写银行结算凭证的有关印鉴,应集中由谁保管
  • 代扣代缴增值税纳税义务发生时间
  • 劳务发票税率营改增后是多少?
  • 双倍余额递减法折旧公式
  • 公司承揽员工租房个税如何入账?
  • 资本公积转增股本什么意思
  • 怎么分清楚待认识的人
  • 税收编码选错了,发票已经开出去几个月了,还有影响吗
  • 增值税进项抵扣期限及认证期限
  • 公司扣了员工的个人所得税但没有帮员工申报
  • 营业外收入属于什么会计要素
  • win10删除所有内容是什么意思
  • windows10如何设置桌面背景
  • 电脑休眠和睡眠什么差别
  • win7桌面图标变成了lnk
  • 预提费用利息会增加吗
  • 华为鸿蒙harmonyos官网4.0
  • php中const
  • 发出商品但货款没到账
  • 企业为员工提供服务要交增值税吗
  • 人力资源服务代缴社保税率是多少
  • hotkey osd driver可以卸载吗
  • 借入资金一般采用借入()进行
  • 计提坏账准备对所得税费用的影响
  • 换股的具体方式是什么
  • 在树洞中休息的英语
  • php实现留言板功能
  • 增值税税收滞纳金哪里缴纳
  • 固定资产已提完折旧后丢失怎么处理
  • kk协议
  • 原始凭证必须来源于外部吗
  • super命令linux
  • head -1命令
  • zarchiver 小米
  • 汽车折旧年限及年限
  • 软件企业会计账务处理
  • 青苗补偿费归谁所有
  • 企业小微企业贷逾期起诉法人房子会被拍卖吗?
  • windows mongodb安装与配置
  • 工程施工科目借方尾差怎么调整
  • 自有资金等于货币资金吗
  • 税控盘每年要交年费吗
  • 出口退税的会计处理例题
  • 进项加计抵扣
  • sql server 附加
  • 一般纳税人跨年冲红报年度所得税怎么做
  • 一般纳税人购进普票怎么做分录
  • 土地出让金返还比例是多少
  • 去年计提的费用今年取得发票 汇算清缴
  • 建筑企业收挂靠公司的管理费如何做账?
  • 企业利润分配应当遵循的原则
  • 公司注销其他应付款法人借款
  • 工资每月变动社保怎么变
  • 转回坏账准备影响营业利润吗
  • 开具的增值税专用发票上注明的价款含税吗
  • 小规模纳税人申请一般纳税人流程
  • 房地产公司属于什么企业
  • 企业所得税预缴2‰
  • python中的django
  • sql server 复制数据库具体操作图解
  • mysql5.7主从配置
  • xp如何更新
  • 计算机网络设计
  • material design admin
  • 安卓手机引导模式设置
  • pyinstaller如何用
  • 菜鸟100例python3
  • python 正则 \s
  • python文件文件夹操作
  • android获取系统弹窗,自动点击
  • 国家税务总局山西省电子税务局
  • 江西省国家税务局李德平
  • 2021年福建医保什么时候交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设