sql server复制编程

 {
.首先使安装ActivX控件:component->import activex
control->microsoft sql merge control 8.0(version 1.0)-> install
.sql server、oracle
等大型DBMS都提供复制功能。且复制可以异种DB间展开。可以说深富有通用性。
.本例:服务器端安装SQL
SERVER2000,收银机安装ACCESS2000,合并复制方式。
.采用以客户端编程的计,把部分安装在指定的INI文件被,灵活而便利。
}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
  Dialogs, OleCtrls, SQLMERGXLib_TLB, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    merge: TSQLMerge;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//在客户端放置一个“同步”按钮
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  try
    with merge do
    begin
      //发布服务器
      Publisher := ‘cxg’;              //出版服务器名
      PublisherDatabase := ‘ynckjxc’;  //发布数据库
      Publication := ‘distribute’;             //发布
      PublisherSecurityMode := NT_AUTHENTICATION;  //安全证明

      //分发服务器
      Distributor := ‘cxg’;            //分发服务器名
      DistributorSecurityMode := NT_AUTHENTICATION;
   
      //订阅服务器
      Subscriber := ‘cxg’;            //订阅服务器名
      SubscriberDatabasePath := ‘c:/data/ynjxc.mdb’; //订阅数据库
      SubscriberDatasourceType := JET4_DATABASE;
      SubscriberSecurityMode := DB_AUTHENTICATION;
      SubscriberLogin := ‘admin’;
      SubscriberPassword := ”;

      //订阅方式
      SubscriptionType := ANONYMOUS;         //匿名订阅
      SynchronizationType := AUTOMATIC;

      //发布服务器和订阅服务器间双向共
      Initialize;
      Run;
      Terminate;
    end;
    showmessage(‘成功’);
  except
    showmessage(‘失败’);
  end;
end;

end.  

相关文章