用类似存储过程,一条一条插入快
还是先插入记录集,然后updatebatch快?
我现在采用后者其实,我就是想把整个recordset插入到一个空表中,有没有更快的办法

解决方案 »

  1.   

    我也想给阿
    不过我没分了
    到我另外的帖子里去拿吧
    http://community.csdn.net/Expert/topic/5734/5734368.xml?temp=.9660761
    你得先回才行现在我的速度已经到57秒了,谁能帮我搞定“我就是想把整个recordset插入到一个空表中,有没有更快的办法"送100分以上!!
      

  2.   

    用存储过程调用BCP 批量导入~~
      

  3.   

    请忽视我的回答~~没看到是ACCESS
      

  4.   

    可以考虑写入到SQL Server数据库中,再导入到Access中,或者txt文档等也行
    另外,注意代码优化应该可以减少时间的,不用这么麻烦
      

  5.   

    1、对数据库查询,设计表结构是关键,如果表结构设计好的话,查询速度是很快的,我在ORACLE中测试过,400万条数据,建立表关键字后,大概就是5秒左右就可以查询到相馆的信息,没有建立关键字的时候,大概需要120秒钟的时间。
    2、我不知道两个表是不是在一个数据库中,如果不是,可以直接使用文件复制,然后删除多余的表。
      

  6.   

    我现在是
    用putcollect将数据存入记录集
    全部完成后
    updatebatch写成txt,再导入进access,这个怎么做?
      

  7.   

    如果是都读出来,则不需要在保存成txt,直接在存储到access数据库中不就可以了.
    其实如果写成通用的语句的话,只需要重复调用就可以了.
    用插入语句,不需要在提交了.
      

  8.   

    因为是access,我可以把写成近似存储过程,然后调用
    但是貌似不能传递表名这个参数啊现在是把一张表的记录全部读出来,根据每条记录的某个信息读指定的文本文件,将文本文件中的信息和表的信息合起来形成新表
      

  9.   

    recordset先写入一个txt文件或者CSV文件,然后通过SQL语句直接select into table opendatasource()...
      

  10.   

    use  mytest  
    go  
    select  *  into  Test4  from  opendatasource('Microsoft.Jet.OLEDB.4.0',Data  Source=c:\;Extended  Properties="text;HDR=No;FMT=Delimited"')...[test#csv]  
    go  
    select  *  from  test4  注意这里的文件名安装"名字#后缀"方法输入哦。
      

  11.   

    谢谢
    将recordset写入txt,是save方法吗?
    这样保存的txt转成表会不会出问题?
    有点担心地说