求大神提供下思路啊,现在有一个sql脚本(40多兆)里面全部是insert语句,大概有25万多行,求指导如何快速执行这个脚本插入到oracle中

解决方案 »

  1.   

    例如1.sql里面是: insert into xx (xx,xx) values (xx,xx);
    可以在命令行 使用 @c:\1.sql;   来调用你的脚本
      

  2.   

    用 batchExecute,只要没有BLOB这种大对象字段,每秒10万条以上很轻松。样例:
    PreparedStatement stmt = conn.prepareStatement("INSERT INTO Users VALUES(?,?,?)");
    User[ ] users = ...;
    for(int i=0; i<users.length; i++) {
      stmt.setInt(1, users[i].getName());
      stmt.setInt(2, users[i].getAge());
      stmt.setInt(3, users[i].getShape());
      stmt.addBatch();
    }
    int[ ] counts = stmt.executeBatch();
    batch-size 不要设置的太小。
      

  3.   

    感谢一楼的指导,很好可以执行,plsqldeveloper不在卡了 非常感谢一楼楼主,   也感谢二楼的回答,只是与我的需求不符,不过以后可能会遇见这种情况谢谢二楼楼主
      

  4.   

    直接 sqlplus ,不要PLSQL, 数据量太大。