oracle的SQL*Loader-00510错误

今天一个入库程序报错

SQL*Loader-00510 Physical record in data file (string) is longer than the maximum(number)

明显是sqlloader引起的

官方文档解释如下

Cause: The datafile has a physical record that is too long.

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

Action: Use CONCATENATE or CONTINUEIF. Break up the physical records.

经测试发现,原因是由于导入文件中存在不同格式的回车换行,

有^M$和$两种回车换行导致,所以用dos2unix命令统一转换成Linux回车换行。

dos2unix filename

问题解决。

本文出自 “richard的笔记-积微成著” 博客,请务必保留此出处http://zxf261.blog.51cto.com/701797/725495

时间: 2024-08-12 21:50:26

oracle的SQL*Loader-00510错误的相关文章

oracle的sql loader数据加载工具

SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中.SQL*LOADER是大型数据 仓库选择使用的加载方法. 在NT下,SQL*LOADER的命令为SQLLDR,在UNIX下一般为sqlldr/sqlload. 如执行:d:/oracle>sqlldr SQL*Loader: Release 8.1.6.0.0 - Production on 星期二 1月 8 11:06:42 2002 (c) Copyright 1999 Oracle Corp

Oracle中sql loader的基本概念

1.sql loader的概念 将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) 2.sqlloader 导入数据原理:在段(segment 表)insert 记录 1)normal :将记录插入到segment的HWM(高水位线)以下的块,要首先访问bitmap ,来确定那些block 有free space 2)direct: 将记录插入到segment的HWM(高水位线)以上的从未使用过的块,加快插入速度 3.sql loader 帮

如何从Oracle 9i SQL*Loader中生成外部表定义

Oracle 9i中引入的外部表允许您将一个顺序文本文件映射到一个Oracle表定义中.一旦您定义了外部表,您就能应用SQL SELECT语句的所有功能--包括并行查询--来处理它. 外部表以SQL*Loader为基础,但定义它们的语法有所不同.如果您已经熟悉SQL*Loader,就有一条捷径:应用SQL*Loader本身生成一段为您建立外部表定义的脚本. 当您添加一个SQL*Loader命令行时,参数EXTERNAL_TABLE=GENERATE_ONLY,它将把系统使用的控制文件转译成一段S

Oracle中sql loader使用例子

一.SQLLoader将 Excel 数据导出到 Oracle 1.创建SQL*Loader输入数据所需要的文件,均保存到C:\,用记事本编辑: 控制文件:input.ctl,内容如下: load data --1.控制文件标识 infile 'test.txt' --2.要输入的数据文件名为test.txt append into table test --3.向表test中追加记录 fields terminated by X'09' --4.字段终止于X'09',是一个制表符(TAB) (

Oracle中sql loader的应用

1.模拟生成数据源 --建立脚本emp.sql[这里很多格式都会变,执行完以后记得执行另一个脚本恢复原样on.sql] [oracle@work sqlldr]$ more emp.sql set heading off set feedback off set time off set linesize 120 set pagesize 0 set echo off set trimspool off spool /export/home/oracle/sqlldr/emp.dat selec

关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序

使用SQL*LOADER导入数据

导入数据 Oracle的SQL*LOADER是一个专门用于ORACLE导数据的工具.不过,好多DBA习惯用TOAD导入数据,TOAD这个工具.但是我觉得SQL*LOADER也不错,特别是在批量的时候. 对于初学者,我想声明一点的是,关于那个.CTL文件.我起初以为.CTL文件是ORACLE自己的控制文件.结果搞错了,这个CTL文件是需要你自己写的.也就是说,这个CTL文件就是一个脚本文件,而不是ORACLE启动的控制文件. 今天我做了一写关于SQL*LOADER的测试,写一下大致过程. 1:新建

Oracle SQL*Loader详解(3) 控制文件

控制文件是SQL*Loader里最重要的文件,它是一个文本文件,用来定义数据文件的位置.数据的格 式.以及配置数据加载过程的行为,在sqlldr中以control参数指定控制文件. 在控制文件里配置命令行参数 (OPTIONS) 在上一篇中我们讲过命令行参数可以配置在三个地方,其中一个就是可以使用控制文件的OPTIONS字 句(这也是最常用的方式),如下所示: OPTIONS (DIRECT=true, SILENT=(ERRORS, FEEDBACK) ) 更多的命令行参数,请见上一篇. 配置

Oracle SQL*Loader详解(1) 总览

SQL*Loader原理 SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库 ),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高.其示意图如下: 控制文件(Control File) (.ctl):用于控制数据导入的行为方式的文件(最重要的文件) 参数文件(可选)(Parameter File) (.par):可以把参数直接写在控制文件里,也可以单独写一个 参数文件 数据文件(Data Files) :放置源数据的平面文件(可以

[Oracle] 常用工具集之SQL*Loader的用法

SQL*Loader是Oracle提供的用于数据加载的一种工具,它比较适合业务分析类型数据库(数据仓库),能处理多种格式的平面文件,批量数据装载比传统的数据插入效率更高   其示意图如下: 控制文件:用于控制数据导入的行为方式的文件(最重要的文件). 参数文件(可选) 数据文件:放置源数据的平面文件 错误文件:在数据加载时,把无法正确加载的数据放入错误文件中(比如数据格式问题.数据类型问题等) 丢弃文件(可选):有些数据,虽然数据格式.数据类型没有问题,但它被逻辑条件过滤掉了(在控制文件中设置)