在学习使用SQLLDR的VAR参数时,发现总是报如下错误:
SQL*Loader-501: 无法读取文件 (ldr_case2.dat)
SQL*Loader-563: VAR 记录的长度错误
SQL*Loader-509: 系统错误: 操作成功完成。
SQL*Loader-2026: 加载因 SQL 加载程序无法继续而被终止。
很是郁闷。。。
我的控制文件是这样的:
Load DATA
INFILE 'D:\ldr_case2.dat' "var 3"
truncate INTO TABLE BONUS
FIELDS TERMINATED BY ","
(ENAME,JOB)
数据文件ldr_case2.date内容如下:
009hello,cd,010world,im,
012my,name is,
------------------------------------------------------
最后发现这个VAR参数是严格按照字节数控制录入长度的。譬如说:var 3,选取前3个字节为长度控制字节。那么
首先取数据为9个字节即hello,cd,然后注意再读取3个字节即为长度控制字节,这里是010,读取10个字节长数据.那么就是读world,im,\r(回车),再读3个字节的时候就会出错,因为在window下一个回车对应\r\n(回车换行2个字节),linux下仅对应一个\n.所以更改ldr_case2.date内容如下后即正常.
009hello,cd,010world,im
011my,name is,
分享到:
相关推荐
涉及sqlldr的参数说明和常见应用
2.3.1. 程序参数 6 2.4. 控制文件 8 2.4.1. 控制文件语法 8 2.4.2. 控制文件结构说明 9 2.5. 数据文件 11 2.5.1. 数据文件要求 11 2.5.2. 数据文件内容 11 2.6. 日志文件 12 2.7. BAD文件 12 2.8. DISCARD文件 12 3....
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,...如果使用sqlldr 报以下错误 可能环境变量少配置 Message 2100 not found; No message file for product=RDBMS, facility=UL
oracle sqlldr多文件批量导入
修改参数为自己本机配置后,运行脚本,复制输出结果到cmd下,直接运行即可批量将excel文件内容传输至指定Oracle表格中。 包含: sqlldr配置文件详解.sql 批量sqlldr导入.py 批量导入文件SQL语句 示例:祁东县.ctl
用的是11.2.0.4的Instant Client,Oracle没给sqlldr,Tools里面也没有(12C就有)。 网上下载了几个都是11.2.0.1的sqlldr,包括标了版本号的,都需要替换库文件。 这个是自己安装p13390677_112040_Linux-x86-64_4of7...
对于经常使用数据库表导出和文件数据导入的功能非常实用;代码为linux下用shell 编写,已经通过实际测试
检查了dba用户和web用户下关于oracle的所有环境变量发现没有问题 (/home/oracle/.profile 与 /home/erm/.profile 环境变量文件为隐藏文件需使用 ls -a 命令查看) 在网上查了一遍以后有如下几种处理办法: 1、没有...
主要用于sqlldr,里面有例子的代码,可以参考
oracle sqlldr导入带有自动增加的数据实例
oracle最强大的sqlldr上传工具
利用oracle的sqlldr功能可添加控制规则的导入数据
oracle sqlldr 工具应用说明,将固定格式的文件数据导入到数据库中
sqlldr报超出字符长度错误,可以参考的好资料。
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件(数据)迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)
oracle 11.2客户端(linux) sqlldr相关文件 如果oracle客户端用的是rpm方式安装: sqlldr命令放在bin 其他文件放在lib 如果oracle客户端用的是直接解压方式: 所有都放在根目录即可
oracle11g基本客户端,主要是用于windows环境下sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
oracle11g基本客户端,主要是sqlplus,sqlldr,exp,imp这几个命令。最最主要的还是sqlldr,想找个单独可用的sqlldr,在Oracle 10g Client 精简优化安装包不到12M ...
利用sqlldr大量数据导入,方便,快速
Oracle SQLLDR介绍及基于SQLLDR的数据库同步系统实现,刘苑琦,邹仕洪,SQL*Loader是Oracle数据库系统提供的一个高速批量数据加载工具,它可以在极短的时间内加载数量庞大的数据,可以直接被前端应用程序调��