我想在程序中连接远程服务器,并且用select语句将数据复制到本地数据库的表中,请问如何做?请高手指点

解决方案 »

  1.   

    用SELECT INTO 语句试试,也可以将远程记录集复杂到本地记录集吧
    SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
    语法:
    SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source
      

  2.   

    本地数据库是什么的呀?
    1.如果数据库都是sqlserver的,可以建立dblink,可以像 [ghd2004]所说的.
    2.还可以直接在数据库上建立复制,这样就不用程序了.
    3.用程序,建立两个connection,一个连远程,一个连本地.用程序代码实现,也行
      

  3.   

    我想在程序中连接远程服务器,并且用select语句将数据复制到本地数据库的表中,请问如何做?请高手指点 
    procedure TForm1.Button1Click(Sender:Tobject);
    var
      str:string;
    begin
      str:='select * into 本地表 from openrowset(''sqloledb'',''ip'';''sa'';''密碼'',''select * from pubs.dbo.jobs'')';
      with adoquery do
        begin
          close;
          sql.clear;
          sql.add(str);
          execsql;
        end;
    end;
      

  4.   

    我就费点时间吧:
    N_Adoc 连接本地库。
    R_adoc 连远程数据库。
    打开远端查询表R_qry
    with R_qry do
    begin
      close;
      sql.clear;
      sql.add('select * from youtable');
      open;
    end;
    本地表N_adotable ,指定本地表名并打开while not R_adoc.Eof do
    begin
       N_adotable.Append;
       N_adotable.FieldByName('f1').AsString =R_adoc.FieldByName('f1').AsString;
       ......
       N_adotable.Post; 
    end;
    R_qry.Close;
    N_adotable.Close;
      

  5.   

    补充楼上的:  adoquery 用于连接本地的数据库。
      

  6.   

    openrowset 可以直接訪問遠程服務器