我用dephi从远程数据库SQL服务器中,运行一个存储过程 返回一个记录集,里面有多条数据,此记录集与我的本地数据库access 中的表是结构完全相同,我不知道怎么将这个记录集一下全部插入到本地的表中。请大家帮助一下吧!有做过的最好给点代码,我觉的应该用事务比较好。千万别一条一条的插入,十分影响效率!!

解决方案 »

  1.   

    SQL不是有批量插入的语句吗,用个Query构建嵌入批量插入的语句一次插入本地表就可以了阿。以下为导出语句insert into openrowset('Microsoft.Jet.OLEDB.4.0', 'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表
      

  2.   


    exec sp_addlinkedserver 
       @server = 'AccessSource', 
       @provider = 'Microsoft.Jet.OLEDB.4.0', 
       @srvproduct = 'OLE DB Provider for Jet',
       @datasrc = 'c:\test.mdb'exec sp_addlinkedsrvlogin 'AccessSource', 'false', 'sa', '', NULLinsert into  AccessSource...[表名]
    select * from SQL服务器中的表名 where 条件--得到存储过程过程返回的结果集sql语句exec sp_droplinkedsrvlogin 'AccessSource','sa' 
    exec sp_dropserver 'AccessSource',null
      

  3.   

    请问:怎么把执行一个存储过程返回的数据插入到与之字段相同的数据表中??exec sp_addlinkedserver 
       @server = 'AccessSource', 
       @provider = 'Microsoft.Jet.OLEDB.4.0', 
       @srvproduct = 'OLE DB Provider for Jet',
       @datasrc = 'c:\test.mdb'exec sp_addlinkedsrvlogin 'AccessSource', 'false', 'sa', '', NULLinsert into  AccessSource...[表名]
    select * from SQL服务器中的表名 where 条件--得到存储过程过程返回的结果集sql语句exec sp_droplinkedsrvlogin 'AccessSource','sa' 
    exec sp_dropserver 'AccessSource',null就是红色的这部分,如何实现
      

  4.   

    晕乎乎......
    insert into AccessSource...[表名] exec [存储过程名]
    表结构相同且字段都一一对应