控制文件:
------------------------------------
load data
infile 'c:\nimei.csv'
insert into table nimei
fields terminated by x'09'
(lian,pai,ban,dy,yh)
--------------------------------------
数据文件:
--------------------------------------------
连 排 班 党员 已婚
赵大 是 是
一连 刘二
一连 一排 张三 是
一连 一排 李四 是
一连 王五
一连 一排 杨六 是 是
陈七
二连 黄八 是
二连 一排 何九 是
二连 一排 杜十 是
------------------------------------------------
结果运行出错:
------------------------------------------------
C:\Documents and Settings\Administrator>sqlldr system/asdcontrol = c:\nimei.ctlSQL*Loader: Release 10.2.0.1.0 - Production on 星期二 8月 23 20:57:10 2011Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL*Loader-350:  语法错误位于第 1 行。
非字母数字字符组合非法

^
--------------------------------------------------------
这个怎么解决?
(oracle版本为10g)

解决方案 »

  1.   

    楼主,你看这句话“非字母数字字符组合非法”,是说你csv各个字段之间有什么非法字符么?
    另外,是不是和汉字有关的?本身你的ctl文件是没有问题的。
    我用你的ctl文件,然后自己写了格式和你一样的但是全是字符的csv文件,可以导入到数据库中:
    [test@DLCDS3023 sql]$ cat test_yixl.csv
    A1      B1      C1      D1      E1
    A2      B2      C2
    A3      B3
    A4      B4      C4      D4      E4
    A5      B5      C5      D5      E5
    A6
    A7      B7      C7      D7      E7
    [test@DLCDS3023 sql]$ sqlldr USERID=apps/apps@vis CONTROL=test_yixl.ctlSQL*Loader: Release 11.1.0.7.0 - Production on Tue Aug 30 09:11:54 2011Copyright (c) 1982, 2007, Oracle.  All rights reserved.Commit point reached - logical record count 7
    所以觉得可能还是跟你的csv文件有关。
      

  2.   

    1、贴出 nimei 表结构
    2、去顶出'c:\nimei.csv'这个文件的合法性,包括分隔符等。最简单的校验方法,用个工具,比如plsql,先导导,看看能否成功