一个从unix获取到的文本,换行符是0D,但当在程序中存入Oracle后,使用PLSQL查看到其换行符变为了0D0A,请问这是为什么呢?谢谢!

解决方案 »

  1.   

    你说你把整个文本文件作为一条记录存到了Oracle表的某个CLOB或BLOB字段中?
    还是把文件的每行作为多条记录分别存到表中?
      

  2.   

    猜想一种原因
       unix 与 dos 的换行符不同,而插入oracle中时,是以dos格式。 因此,查询出来的换行符与unix不同。
       当然,还需验证一下,是否只是pl/sql的显示环境影响,还是数据就是如此。
      

  3.   


    我检查了下,插入前日志中记录的换行符是0D,使用spool将数据库中的字段导出到文本里打开后看到换行符也是0D,但就是在PLSQL中点击字段后查看Hex显示的是0D0A,所以怀疑是否因为PLSQL工具显示时即使是十六进制方式,也是按照Windows规范的换行符0D0A进行展示的呢?