ZT

解决方案 »

  1.   

    mysql4导出文本,到oracle执行导入。
      

  2.   

    ch8433(ch8433) 你能说详细一点吗
      

  3.   

    步骤环境:Mysql 4      =>  Oracle 9.2.0.41、从Mysql中导出csv格式的数据mysqldump -u mysql -p -T./ --fields-terminated-by=, --fields-enclosed-by="   mms send_done_log
       输入密码:password
       
    2、从导出的send_done_log.sql文件中找到建表语句,将其修改成符合oracle语法的建表语句
       注意:Mysql导出空是"N",所以Mysql中可以为空的字段在oracle中都要改成varchar2类型3、使用oracle的load工具导入数据
       sqlldr userid=scott/tiger control=load.ctl data=send_done_log.txt direct=y
       
       load.ctl的内容:
       
       LOAD DATA                                                  
     INFILE *                                                   
     INTO TABLE DEMO                                            
     TRUNCATE                                                    
     FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'        
     (SEND_ID,
       SUBJECT,
       ZX_TXT,
       FEE
     )
      

  4.   

    Eric_1999 的方法很不错mysqldump -u mysql 之后直接可以生成 Insert 语句,不过这些语句导入Oracle可能会因为 ' & ; 等等 会提示出错如果使用客户端生成cvs文件 或mysqldump -u mysql -p -T./ --fields-terminated-by=, --fields-enclosed-by="   mms send_done_log
       输入密码:password 之后 可以用 plsql develop 工具 tools->Text Import 之后上面四个按钮第一个提示选则文件 table1.cvs 确定后点击 data to Oracle 选择Table 指定要导入的表 之后点击import ,为了避免数据冲突,最后导入一个新建的表中 这样就不用sqlldr ,因为有人不喜欢写sqlldr的控制文件
      

  5.   

    BDE工具有时也能用,不过好久没用过了。
      

  6.   

    Eric_1999 你的方法的试过了,不行呀
    mysqldump -u mysql -p -T./ --fields-terminated-by=, --fields-enclosed-by="   mms send_done_log这段话根本通不过呀,这其中的mms是什么意思呀,是数据库名吗?-T./是什么意思? --fields-terminated-by=, --fields-enclosed-by=" 这两个又是什么意思呀
      

  7.   

    这句命令通不过呀,Eric_1999你试试呢,我一执行就报下面的话,根本没有执行C:\Program Files\MySQL\MySQL Server 4.1\bin>mysqldump -u root -p -T./ --fields-t
    erminated-by=, --fields-enclosed-by=" sino_new send_done_log
    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
    For more options, use mysqldump --help