`
xkahala
  • 浏览: 49715 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用sqlldr将excel中的数据导入到oracle数据库

阅读更多

报错是remarks 字段   数据库:  remarks varchar2(4000)
而数据文件excel中的   remarks字段的 明显只有400字节
但是就是导入不进去,将excel文件中的remarks 数据删掉一大部分,数据成功导入
控制文件:
load data
infile 'c:\t1.txt'
append into table  import_line_table1   
fields terminated by X'09'
TRAILING   NULLCOLS  
( SECOREID ,
SORTNUM,
PWLEVEL,
PLACENAME,
PLACETYPE,
ASSETSORT,
RATINGFLUX,
CONTROLLINETYPE ,
CONTROLSEGMENT ,
LINELENGTH ,
LEAD_BEGIN ,
LEAD_END ,
LEAD_XINHAO ,
LEAD_LENGTH ,
LEAD_EDYL,
BLX_LEFT_LINE ,
BLX_LEFT_BEGIN ,
BLX_LEFT_END ,
BLX_LEFT_LENGTH,
BLX_RIGHT_LINE ,
BLX_RIGHT_BEGIN ,
LX_RIGHT_END ,
BLX_RIGHT_LENGTH,
JGTTJS,
TGJS,
GGZHTJS,
GGTJS,
TOUCHANDATE date 'yyyy.mm.dd' ,
PLACESTATUES,
REMARKS
)   


数据文件remarks的字段值:
"改建及重大变更记录(1) 96年生产设备改造原#07-#09改为铁塔(2) 协助广花公路扩建工程,将水泥杆#31,#32改为铁塔于96年12月完工(3) 98年7月将#13-#27,#45-#52改为与郭江线双回路铁塔(4) 2000年6月20目改名为郭均线(5) 2000年8月23日改名为郭嘉线(6) 2000年10月16-19日,将原110kv郭江线#24-#33,110kv郭嘉线#26-#36单回路平行立廊改为双回路同塔架设,该段新定廊占用郭嘉线#26-#36段原走廊。(7) 2004年3月,新立#10、#11塔,原塔拆除。(8)2008.11.06对#02-#04、#06-#09、#13-#15、#18进行调爬。"

一行算50个中文,那么4行就是 400多点字节

就是报
可变长度的字段超出了最大

log文件内容如下:
SQL*Loader: Release 9.2.0.1.0 - Production on 星期三 5月 27 16:35:50 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

控制文件: c:\t1.ctl
数据文件: c:\t2.txt
错误文件: c:\t2.bad
废弃文件: 未作指定
:
(可废弃所有记录)

加载数: ALL
跳过数: 0
允许的错误: 50
绑定数组: 64 行,最大 256000 字节
继续:    未作指定
所用路径:       常规

表IMPORT_LINE_TABLE1
已加载从每个逻辑记录
插入选项对此表APPEND生效
TRAILING NULLCOLS 选项生效

   列名                        位置      长度  中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
SECOREID                            FIRST     *  WHT      CHARACTER           
SORTNUM                              NEXT     *  WHT      CHARACTER           
PWLEVEL                              NEXT     *  WHT      CHARACTER           
PLACENAME                            NEXT     *  WHT      CHARACTER           
PLACETYPE                            NEXT     *  WHT      CHARACTER           
ASSETSORT                            NEXT     *  WHT      CHARACTER           
RATINGFLUX                           NEXT     *  WHT      CHARACTER           
CONTROLLINETYPE                      NEXT     *  WHT      CHARACTER           
CONTROLSEGMENT                       NEXT     *  WHT      CHARACTER           
LINELENGTH                           NEXT     *  WHT      CHARACTER           
LEAD_BEGIN                           NEXT     *  WHT      CHARACTER           
LEAD_END                             NEXT     *  WHT      CHARACTER           
LEAD_XINHAO                          NEXT     *  WHT      CHARACTER           
LEAD_LENGTH                          NEXT     *  WHT      CHARACTER           
LEAD_EDYL                            NEXT     *  WHT      CHARACTER           
BLX_LEFT_LINE                        NEXT     *  WHT      CHARACTER           
BLX_LEFT_BEGIN                       NEXT     *  WHT      CHARACTER           
BLX_LEFT_END                         NEXT     *  WHT      CHARACTER           
BLX_LEFT_LENGTH                      NEXT     *  WHT      CHARACTER           
BLX_RIGHT_LINE                       NEXT     *  WHT      CHARACTER           
BLX_RIGHT_BEGIN                      NEXT     *  WHT      CHARACTER           
LX_RIGHT_END                         NEXT     *  WHT      CHARACTER           
BLX_RIGHT_LENGTH                     NEXT     *  WHT      CHARACTER           
JGTTJS                               NEXT     *  WHT      CHARACTER           
TGJS                                 NEXT     *  WHT      CHARACTER           
GGZHTJS                              NEXT     *  WHT      CHARACTER           
GGTJS                                NEXT     *  WHT      CHARACTER           
TOUCHANDATE                          NEXT     *  WHT      DATE yyyy.mm.dd     
PLACESTATUES                         NEXT     *  WHT      CHARACTER           
REMARKS                              NEXT     *  WHT      CHARACTER           

记录 1: 被拒绝 - 表 MIP_GZ0409.IMPORT_LINE_TABLE1 的列 REMARKS 出现错误。
数据文件的字段超出最大长度
记录 2: 被拒绝 - 表 MIP_GZ0409.IMPORT_LINE_TABLE1 的列 REMARKS 出现错误。
数据文件的字段超出最大长度
记录 3: 被拒绝 - 表 MIP_GZ0409.IMPORT_LINE_TABLE1 的列 REMARKS 出现错误。
数据文件的字段超出最大长度
记录 4: 被拒绝 - 表 MIP_GZ0409.IMPORT_LINE_TABLE1 的列 REMARKS 出现错误。
数据文件的字段超出最大长度
记录 5: 被拒绝 - 表 MIP_GZ0409.IMPORT_LINE_TABLE1 的列 REMARKS 出现错误。
数据文件的字段超出最大长度

表MIP_GZ0409.IMPORT_LINE_TABLE1:
0 行 加载成功
由于数据错误, 5 行 没有加载。
由于所有 WHEN 子句失败, 0 行 没有加载。
由于所有字段都为空的, 0 行 没有加载。


为结合数组分配的空间:   255420字节(33行)
读取   缓冲区字节数: 1048576

跳过的逻辑记录总数:        0
读取的逻辑记录总数:        5
拒绝的逻辑记录总数:        5
废弃的逻辑记录总数:        0

从星期三 5月  27 16:35:50 2009开始运行
在星期三 5月  27 16:35:51 2009处运行结束

经过时间为: 00: 00: 00.12
CPU 时间为: 00: 00: 00.03


然后我将控制文件中  remarks的 数据类型 和 长度 指定为 varchar(4000)
依然报一样的错

后来在 控制文件 中 remarks 字段后 声明  char(4000)

解决

 

耗时1天 ,  我现在终于知道从helloworld 到 项目实战 有多远的距离了 唉!

分享到:
评论
1 楼 yanggq930 2011-07-28  
你好,我遇到了和一样的问题了,你能告诉我你是怎么解决的吗?
我的也是实际字段只有300左右字符,我数据库字段都设置成4000了.
总是报字符超长.
谢谢了,
我的邮箱是:zyyy930@126.com

相关推荐

    利用sqlloader将 excel 数据导出到 oracle 数据库中.rar

    `SQLLoader`是Oracle数据库提供的一种高效的数据加载工具,它能够快速地将大量数据从外部文件(如CSV、固定宽度文件或Excel文件)导入到Oracle数据库中。本教程将详细介绍如何使用SQLLoader将Excel数据导出到Oracle...

    导入excel,txt文件到oracle数据库

    ImportExcel2Oracle.aspx通过dateset.update把数据更新到oracle数据库中的RAWDATA表中,当oracle数据库表中数据很大时,这种导入速度很慢,但是表数据空时导入比较快。ImportExcelData2Oracle.aspx通过oracle 的sql...

    sqlldr通过excel上传数据

    总结,通过sqlldr将Excel数据导入Oracle数据库需要以下步骤: 1. 将Excel文件转换为CSV。 2. 创建sqlldr控制文件,定义数据字段和加载规则。 3. 使用sqlldr命令执行数据加载,根据需要设置错误处理和性能优化。 在...

    命令实现excel导入到oracle

    在导入数据前,你需要在Oracle数据库中创建一个与Excel文件列结构匹配的表。例如,如果Excel文件有三列(ID, Name, Age),在Oracle中创建对应的表: ```sql CREATE TABLE excel_data ( ID NUMBER, NAME VARCHAR2...

    往oracle数据库中,插入excel文件中的数据

    在日常工作中,我们经常需要将Excel文件中的数据导入到Oracle数据库中,以便进行进一步的数据处理与分析。本文将详细介绍如何使用Oracle SQL*Loader工具完成这一过程。 #### Oracle SQL*Loader简介 SQL*Loader是...

    excel数据导入oracle

    在日常工作中,经常需要将Excel中的数据批量导入到Oracle数据库中。本文档将详细介绍如何使用Java语言实现这一过程,并通过具体的示例步骤来帮助理解整个流程。 #### 二、准备工作 1. **确认Oracle环境配置**: - ...

    sqlldr导入带有自动增加的数据

    SQL*Loader是Oracle提供的一个实用程序,用于快速、高效地将大量数据加载到Oracle数据库中。它支持多种数据源格式,如文本文件、Excel文件等,并能够处理各种数据类型。SQL*Loader可以自动转换数据格式,检测并处理...

    财税实务:将Excel数据导出到Oracle数据库.pdf

    以Microsoft Excel 2000为例,你可以创建一个新的工作簿,输入你要导入Oracle数据库的数据。在完成数据录入后,你需要将Excel文件另存为制表符分隔的文本文件,以便SQL*Loader可以识别。具体步骤包括:选择“文件”-...

    EXCEL文件导入到ORACLE数据库[定义].pdf

    总结,将Excel文件导入Oracle数据库涉及到将Excel文件转换为文本格式,创建匹配的数据库表结构,编写SQL*Loader的控制文件,以及确保字符集的一致性。这个过程需要对数据库操作和文件格式转换有一定的理解,但在遵循...

    excle导入oracle数据库图文教程

    ### Excel导入Oracle数据库图文教程 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据导入到Oracle数据库中的情况。本教程将详细介绍如何通过简单的几个步骤完成这一操作,无需编程基础也能轻松...

    将CSV、EXCEL、TXT等文件的数据导入到oracle中

    本文将详细探讨如何将CSV、Excel和TXT等格式的文件数据导入到Oracle数据库中,以便进行高效的数据处理和分析。 一、CSV文件导入 CSV(Comma Separated Values)是一种通用的文本文件格式,用于存储表格数据。Oracle...

    txt文件导入oracle数据库

    SQL*Loader是Oracle提供的一种高速数据加载工具,它可以将ASCII文件、二进制文件或者Excel文件中的数据快速导入到Oracle数据库中。SQL*Loader支持多种数据格式,并且能够处理大量的数据导入任务。 #### 五、使用SQL...

    省市县数据库含access 如何转oracle

    4. 数据导入:有多种方式可以将数据导入Oracle,包括SQL*Loader、SQL Developer、Data Pump、PL/SQL程序等。这里以SQL*Loader为例,它是Oracle提供的快速数据加载工具: - 创建控制文件:定义数据文件的格式,包括...

    .Net导Excel到oracle的常用方法

    以上步骤介绍了如何使用.NET结合SQL*Loader工具将Excel文件中的数据导入到Oracle数据库中。这种方法不仅高效,而且可以处理大量数据的导入任务。当然,在实际应用中还需要考虑错误处理、性能优化等问题。希望本文能...

    oracle导出excel和excel导入oracle的经验总结.pdf

    在Oracle数据库管理中,经常需要将数据导出到Excel格式以便于分析和处理,同时也会有将Excel数据导入到Oracle表的需求。以下是一些常用的方法: 1. **Oracle导出Excel** - **方法一:使用PL/SQL Developer** PL/...

    oracle自动导入数据

    在Oracle数据库管理中,自动导入数据是一项常见的任务,特别是在处理大量结构化数据时,例如...通过合理利用Oracle提供的工具和技术,可以有效地将Excel等外部数据源的数据导入到Oracle数据库中,提升数据管理的效率。

    EXCEL,TXT文档数据和ORACLE数据互导的方法

    根据CSV文件中的列结构,在Oracle数据库中创建相应的表。 - **步骤四:** 使用SQL*Loader或Data Pump进行数据导入。这两种工具都可以用来批量导入数据。例如,使用SQL*Loader命令行工具: ``` sqlldr userid=...

    Excel导入oracle的几种方法

    Excel导入Oracle数据库是数据处理和数据库管理中经常遇到的任务,下面详细分析了几种常见的导入方法及其知识点。 一、使用SQL*Loader SQL*Loader是Oracle提供的一个用于数据加载的命令行工具,它可以通过控制文件...

    OraLoader--用sqlldr的Oracle库表数据装载工具

    1. **数据库初始化**:在新系统上线或数据迁移时,OraLoader可以帮助快速将大量历史数据导入到新的Oracle数据库中。 2. **数据迁移与同步**:在多个数据库间进行数据迁移,或者需要定期同步数据时,OraLoader是理想...

Global site tag (gtag.js) - Google Analytics