这样的情况:我用ado的方式从oracle检索出数据,然后插入到access的表中。当记录有1万多条的时候,发觉插入access的速度很慢,有什么方式可提高速度?
如果将检索出的记录导出到文本文件,再用access导入文本文件,发觉能提高数据。但这样又有个问题,如何在delphi中实现将文本文件数据导入access的功能?

解决方案 »

  1.   

    ado都能实现,看“sql导入导出大全”这片文章,在文档区
      

  2.   

    楼上的朋友,你说得文档我看过。但我要从oracle数据库的多个表中检索记录,然后插入access的一个表中。我自己的处理方式是,首先从oracle中检索出记录,然后一条一条插入到access的表中,但速度很慢。有没有办法提高速度?
      

  3.   

    哦.有工具的哦,sql有导入导出的工具,可以先把oracle转成sql然后再access
      

  4.   

    我找到了一种处理方式:先将oralce中的记录导出到文本文件中,再将文本文件的数据用docmd的transfertext方法导入access。发觉这样处理比我原先的快了许多。(原先需要10多分钟,现在只需几十秒就能搞定)
      

  5.   

    先将ORACLE查询生成一临时表(TAB1),再导入ACCESS中。
    将Oracle导入到Access
    ADOCONNECTION连接串:
    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\db1.mdb;Persist Security Info=False
    SQL语句
    SELECT * into tablename  FROM Tab1 IN [ODBC]
    [ODBC;Driver={Microsoft ODBC for Oracle};UID=oracle;PWD=oracle;SERVER=yourdata;]
      

  6.   

    楼上说的方式我没试过,我感觉速度不会太快,因为在delphi中用ado方式插入记录到access中是很慢了。
    我比较了几种方法:1)直接将oracle中记录检索出,用ado方式一条一条插入access; 2)将oracle的记录导出到文本文件,再用docmd的transfertext方法导入access;3)直接将oracle中记录检索出,并用DoCmd中RunSql方式一条一条插入access。发觉速度最快的是第2)种方式,其次是3),最慢的是1)。其中2)和3)都用了ole.