我的文本文件以回车+换行符结尾,以|作为列分隔符,问题是有字段存在回车符的情况,导致导入失败
我百度了很多这方面的做法,但都无效
比如:
1.用CONTINUEIF LAST!=   提示没有CONTINUEIF这个关键字,我昏
2.用infile xxx.data "str X'0D0A" 提示不能打开文件,但去掉后面的"str X'0D0A"就没有这个提示
3.为每个字段用Terminated by指定分隔符,照样无效求高手给个准信啊,受不鸟了
我的版本是Oracle9i,我估计是版本问题,但不可能去换数据库版本的,急死了

解决方案 »

  1.   

    >>>>>问题是有字段存在回车符的情况一行: 1111 | 2222 (此处有个换行符) 22 | 3333 结尾 crlf 
    你的意思是 有上面2那种字段?
     
      

  2.   

    一行: 1111 | 2222 chr(13) 22 | 3333 chr(13)char(10)中间有个回车符,一行的结尾是回车符+换行符,因为不可见,所以用chr(13)和chr(10)表示,如果是用16进制去看,对应的是x0D和x0A
      

  3.   

    我测试通过了不知道是不是你想要的test1.csv 中的数据
    sara|ra/nra|1        /n代表换行符控制文件
    input.ctl
    load data
    infile 'c:\test1.csv'
    replace into table t_Test
    fields teminated by '1'
    (
     username,
     sex "replace(:sex , '/n' ,char(10))" ,
     age
    )导入成功,查询的时候会是这样
    ---------------------------
    username   sex    age
    sara      ra ra   1       --中间空着的就是换行符。。