ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle专题深入讨论 » mdb-tools将此转换为 CSV 然后通过SQLLDR导入问题

标题: mdb-tools将此转换为 CSV 然后通过SQLLDR导入问题
离线 wenzhi057
初级会员



精华贴数 0
个人空间 0
技术积分 32 (38706)
社区积分 0 (800519)
注册日期 2006-3-16
论坛徽章:0
      
      

发表于 2008-5-13 15:07 
mdb-tools将此转换为 CSV 然后通过SQLLDR导入问题

由于在linux 下不支持Access 所以通过mdb-tools将此转换为 CSV。
再转换过程中有的数据会生成一些乱码(不知道为什么),而后通过SQLLDR
将CSV导入数据库就会有问题.


将 Access转换为  CSV 脚本如下

   mdb-export -Q $MDBFILE_NAME $MDBTABLE_NAME > $CSVFILE_NAME
   

将 CSV 通过SQLLDR 导入到数据库中出错如下,错误信息并不固定

Number to load: ALL
Number to skip: 0
Errors allowed: 1000000
Bind array:     64 rows, maximum of 256000 bytes
Continuation:    none specified
Path used:      Conventional

Table DRVVIOSUM, loaded from every logical record.
Insert option in effect for this table: APPEND
TRAILING NULLCOLS option in effect

   Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
DRVLICNO                            FIRST     *   ,       CHARACTER            
AREACODE                             NEXT     *   ,       CHARACTER            
VIOCOUNT                             NEXT     *   ,       CHARACTER            
FILLER_1                             NEXT     *   ,       CHARACTER            
  (FILLER FIELD)
FILLER_2                             NEXT     *   ,       CHARACTER            
  (FILLER FIELD)
FILLER_3                             NEXT     *   ,       CHARACTER            
  (FILLER FIELD)
  
  
  ..............................
  
  
  (FILLER FIELD)
POINTS                               NEXT     *   ,       CHARACTER            
EXAMTIME                             NEXT     *   ,       CHARACTER            
    SQL string for column : "to_timestamp(:examTime,'YYYYMMDDHH24:MI')"
DETAINTIME                           NEXT     *   ,       CHARACTER            
    SQL string for column : "to_timestamp(:detaInTime,'YYYYMMDD')"
DETAINDAYS                           NEXT     *   ,       CHARACTER            
GETTIME                              NEXT     *   ,       CHARACTER            
EXAMCOUNT                            NEXT     *   ,       CHARACTER            
CERTNO                               NEXT     *   ,       CHARACTER            
NAME                                 NEXT     *   ,       CHARACTER            
SUMID                                NEXT     *   ,       CHARACTER            
    SQL string for column : "DRVVIOSUM_SEQUENCE.nextval"
ENTRYTIME                            NEXT     *   ,       CHARACTER            
    SQL string for column : "sysdate"
UPDATETIME                           NEXT     *   ,       CHARACTER            
    SQL string for column : "sysdate"
STAT                                                      CONSTANT
    Value is '1'

Record 1: Rejected - Error on table DRVVIOSUM, column VIOCOUNT.
ORA-01722: invalid number

Record 3184: Rejected - Error on table DRVVIOSUM, column NAME.
Multibyte character error.
Record 6879: Rejected - Error on table DRVVIOSUM, column NAME.
Multibyte character error.
Record 9434: Rejected - Error on table DRVVIOSUM, column NAME.
Multibyte character error.
Record 10944: Rejected - Error on table DRVVIOSUM, column NAME.
Multibyte character error.
Record 21323: Rejected - Error on table DRVVIOSUM, column NAME.
Multibyte character error.

一般在linux 下想使用 access 还有其他工具吗


只看该作者    顶部
离线 sqysl
孤独剑客



来自 山东
精华贴数 0
个人空间 0
技术积分 1258 (1374)
社区积分 31 (6186)
注册日期 2006-12-20
论坛徽章:0
      
      

发表于 2008-5-20 21:31 
在WIN下转成文本,传到LINUX,然后再SQLLOADER不行吗?
或在WIN下直接导入数据库,可以使用PB管道或自己写个程序,也可以借助其他工具或功能,ACCESS能否直接导出到ORACLE,可以看看


__________________
曾经沧海难为水,除却巫山不是云。
天若有情天亦老,人间正道是沧桑。
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问