1、数据量大不要紧。
先用PL/SQL Developer将数据导出成csv格式,然后在excel中生成insert语句,最后在mysql中执行这个脚本就可以了,跟数据量没关系。
2、在JAVA中批量更新数据要如何操作,用PreparedStatement。

解决方案 »

  1.   

    要用 PreparedStatement ,有一个 绑定方法,(我记不得了),你去查一查  API 吧....
      

  2.   

    查API还是不得要领啊,请指教啊!!!!!!!!
      

  3.   

    要用JAVA写成程序,每天自动运行来更新数据,请指点啊!!!
      

  4.   

    其实用一个sql就够了。
    把oracle中的数据取出来,然后生成一个如下格式的sql,再执行,这样可能效率要高些吧。
    INSERT INTO `brand_m` (`BRAND_ID`, `BRAND_INFO`) VALUES 
      (1,'禁止合闸,线路有人工作'),
      (2,'禁止合闸,有人工作'),
      (3,'在此工作'),
      (4,'止步,高压危险'),
      (5,'从此上下'),
      (6,'禁止攀登,高压危险');
      

  5.   

    建立oracle的连接后与mysql连接后,使用setDefaultRowPrefetch() 与 setDefaultBatchValue()。
    对oracle的ResultSet使用setFetchSize()使每一次多读取记录。
    使用getString(1)用数字来读取字段值。对mysql的connection设置 
     con.setAutoCommit(false);手工进行commit ; 使用PreparedStatement来进行更新操作.
    PreparedStatement stmt = con.preparedStatement( "insert into TAB values( ? ) " ) ;
    stmt.setString( 0 , 需更新的值 ) ;
    stmt.addBatch() ;//批更新提高效率
    然后自已来确定多少条提交一次。一般定成500-2000条,超过2000条后对性能的改变并不大,越大数据库需要更多的回滚区。
      

  6.   

    tyrone98(林林),在API里找不到setDefaultRowPrefetch() 与 setDefaultBatchValue(),commit写在哪里?可不可以再说得详细点?哪里有相关的资料下载?我的QQ:56430587,msn:[email protected]