现在问个问题,
查询两个机器上的的数据库中的数据,怎么写?
例如: A机器:testA     B机器: testB
     数据库   test              test      表       qcmtest         qcmtest
      主键     qcmID                qcmID 
假设这些,条件,怎么在 过程里面写一个select 语句,查询不相同的

解决方案 »

  1.   

    在兩臺數據庫中的任一創建一個DBLINK指嚮另一個數據庫,再創建一個同義詞指向另一數據庫中的表,這樣就可以在一個數據庫操作了
      

  2.   

    创建语法:
    create database link linkname
    connect to user
    identified by usrpwd 
    using 'demona';其中
    --demona为用net8 easy config创建的连接字符串
    目的方数据库的init.ora文件中的global_names设为false
    重新启动数据库设置才能生效
    或者用sys用户执行
    alter system set global_names=false;使用:select * from tbname@linkname where ...;
      

  3.   

    不好意思,我用的是sqlserver,
    同时,两台机器A[dragon]和B[liuliu],有相同表结构数据库,我想在A机器上写一个过程,能够查询B机器上的数据,同时能够查询A机器上的数据,然后将不同的数据丛A机器上拷到B机器上
    CREATE procedure [dbo].[qcminsert] as
    begin
         DECLARE  @QCMcode   int
         DECLARE  @MatName   varchar(30) 
         DECLARE  @batchNo    varchar(20)
         DECLARE  @QCPosition varchar(10)
         DECLARE  @Eqpcode    int
         DECLARE  @IsUsed      bit
         DECLARE  QCMCS cursor
    for select QCMcode ,MatName , batchNo ,QCPosition,Eqpcode, IsUsed  from liuliu.testdj.dbo.qc_material     --此处报错,不能保存这个过程,除去liuliu后就行了
        Open QCMCS 
    FEtch Next From QCMCS into
          @QCMcode ,  @MatName ,  @batchNo ,  @QCPosition  ,@Eqpcode, @IsUsed 
    WHILE (@@FETCH_status<>-1)
    begin
      if not exists(select qcmcode from qc_material where @MatName=Matname and @batchNo=batchno         
    and @QCPosition=QcPosition  and @Eqpcode=eqpcode and  @IsUsed=isUsed )
       begin
        insert into qc_material (QCMcode ,MatName , batchNo ,QCPosition,Eqpcode, IsUsed )
          values(@QCMcode ,  @MatName ,  @batchNo ,  @QCPosition  ,@Eqpcode, @IsUsed )
       end
        FEtch Next From QCMCS into
           @QCMcode ,  @MatName ,  @batchNo ,  @QCPosition  ,@Eqpcode, @IsUsed 
    end
    close QCMCS
    deallocate QCMCS
    end
    GO拜托了,着急呀~~这个怎么搞定呀?
      

  4.   

    一样SQLSERVER有sp_linkedservers你看一下帮助就全有了
      

  5.   


    select QCMcode ,MatName , batchNo ,QCPosition,Eqpcode, IsUsed  from 
    opendatasource('SQLOLEDB','Data Source=***.***.***.***;User ID=user;Password=pass;').
    liuliu.dbo.qc_material