想要速度快,可以让Oracle直接读取数据文件,通过Oracle自带的文件访问API导入数据是速度最快的。

解决方案 »

  1.   

    举个例子吧,也可以写成存储过程给程序调用:
    DECLARE
      fr_file1    utl_file.file_type;
      temp        varchar2(100);
    BEGIN
      fr_file1    := utl_file.fopen('E:\', '1.csv', 'r');
      loop
        begin
          UTL_FILE.GET_LINE(fr_file1, temp);
        exception
          when no_data_found then
            exit;
        end;
        --这里写导入脚本。
      end loop;
    END;
      

  2.   

    我是在C#的程序里面写的,我是用的获取datatable,然后在循环遍历datatable,组装sql语句导入,但是我发现这样的速度很慢,也可以把数据导入进去。
      

  3.   

    System.IDisposable继承这个接口,在你的方法中直接提交dataset  不过10w条貌似还是多了点!
      

  4.   

    如果用代码操作的话,时间还是比较长的!不像直接用PL/SQL那么快!