delphi 控制分布式数据库通信方式
一、 网络布局
一台中心SQL服务器(简称:中心服务器),多台分布在不同地域的SQL服务器(简称:本地服务器),各个本地服务器和中心服务器都能通过internet实现网络互连。
二、所用语言及数据库:Delphi +Sql
二、 通信要求
每台本地服务器与中心服务器每天都能相互交换数据库内的数据,实现数据的一致。但是不能保证数据的时实性(这一点请大家赐教)。本地服务器和中心服务器上都有一个通信程序,负责文件的网络传输。本地服务器和中心服务器中的数据库结构完全一样。
三、 本地服务器向中心服务器传输数据
1、 本地通信程序先把本地数据库中要传输的数据从各个表中收集起来,形成一个新的单机数据库(sqlite,这种数据库比较小)。里面各个表中存放着要上传的数据。
2、 与中心服务器上的通信程序连接,握手后,把生成的sqlite数据库通过网络传输给中心服务器,传输结束后,中心服务器对两个数据进行处理,如果sqlite内有的,sql 没有,则进行插入操作,如果都有的话,进行修改操作(删除的数据只是在库变化下标志位,并没有删除)。
3、 这些都处理好后,中心服务器上的通信程序给本地的通信程序发回一个标志,看是否处理成功,如果成功,则把本地中发送数据的标志位改成“已发送”,否则不变,等待下一次发送。
四、 中心服务器向本地服务器传输数据
1、 本地服务器向中心服务器发送下载指令和本地的IP,中心服务器上的通信程序收到指令后,开始收集数据形成sqlite数据库,然后向已指定IP的本地服务器发送文件。
2、 本地服务器收到文件后,开始与本地数据库内的数据进行比较,看是应该进行插入还是修改操作。结束后,再向中心服务器发送结束指令,
相关文档:
unit DvsLinkingClass;
interface
uses
Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs;
type
PRecLinkNode = ^RecLinkNode;
RecLinkNode = record
NodeMsg: String;
Counter: Integer;
Previous: PRecLinkNode;
Next: PRecLinkNode;
end;
TLinkingClass = class
......
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2420610
目录
===============================================================================
⊙
RTTI 简介
⊙ 类(class) 和 VMT 的关系
⊙ 类(class)、类的类(class of class)、类变量(class
variable) 的关系
⊙ TObject.ClassType 和 TObject.ClassInf ......
1) Delphi向oracle中传递参数 如oracle中的参数名为erpcx
答:如果想从表里取值到oracle,则erpcx:=trim(aq1.fieldbyname('erpcx').AsString);
否则直接用控件名字
语句为
with aperp do
begin
connection:=dm.ADOCerp;
parameters.Clear;&nbs ......
//**************需要强调的两个快捷键**********************
51.CTRL+SHIFT+U 代码整块左移2个空格位置
52.CTRL+SHIFT+I 代码整块右移2个空格位置
60.Ctrl+Alt+c 注释块
61.Ctrl+Alt+u & ......
......