你们好:
  想问一下,如果有两个数据库,一个是oracle,一个是sqlserver,
如果把oracle中一个表的数据复制到sqlserver中呢?(在程序中)
在access中的话,只要分别链接两个表,然后做一个追加查询
就可以了,delphi中如果建两个adoquery,一条一条数据
追加的话效率太慢了吧,有没有更好的办法呀?

解决方案 »

  1.   

    联机丛书
    sp_addlinkedserver
    创建一个链接的服务器,使其允许对分布式的、针对 OLE DB 数据源的异类查询进行访问。在使用 sp_addlinkedserver 创建链接的服务器之后,此服务器就可以执行分布式查询。如果链接服务器定义为 Microsoft® SQL Server™,则可执行远程存储过程。
    C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序
    此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。USE master
    GO
    -- To use named parameters:
    EXEC sp_addlinkedserver
       @server = 'LONDON Mktg',
       @srvproduct = 'Oracle',
       @provider = 'MSDAORA',
       @datasrc = 'MyServer'
    GO
    -- OR to use no named parameters:
    USE master
    GO
    EXEC sp_addlinkedserver 
       'LONDON Mktg', 
       'Oracle', 
       'MSDAORA',
       'MyServer'
    GO
      

  2.   

    1:在程序中,建一个结构相同的表,然后用batchmove方法来复制,可能要快点。
    2:用企业管理器的导入,可能更快
      

  3.   

    1:在程序中,建一个结构相同的表,然后用batchmove方法来复制,可能要快点。
    2:用企业管理器的导入,可能更快