这样的情况:我用ado的方式从oracle检索出数据,然后插入到access的表中。当记录有1万多条的时候,发觉插入access的速度很慢,有什么方式可提高速度?
如果将检索出的记录导出到文本文件,再用access导入文本文件,发觉能提高数据。但这样又有个问题,如何在delphi中实现将文本文件数据导入access的功能?
如果将检索出的记录导出到文本文件,再用access导入文本文件,发觉能提高数据。但这样又有个问题,如何在delphi中实现将文本文件数据导入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;]
我比较了几种方法:1)直接将oracle中记录检索出,用ado方式一条一条插入access; 2)将oracle的记录导出到文本文件,再用docmd的transfertext方法导入access;3)直接将oracle中记录检索出,并用DoCmd中RunSql方式一条一条插入access。发觉速度最快的是第2)种方式,其次是3),最慢的是1)。其中2)和3)都用了ole.