delphi 控制分布式数据库通信方式
一、 网络布局
一台中心SQL服务器(简称:中心服务器),多台分布在不同地域的SQL服务器(简称:本地服务器),各个本地服务器和中心服务器都能通过internet实现网络互连。
二、所用语言及数据库:Delphi +Sql
二、 通信要求
每台本地服务器与中心服务器每天都能相互交换数据库内的数据,实现数据的一致。但是不能保证数据的时实性(这一点请大家赐教)。本地服务器和中心服务器上都有一个通信程序,负责文件的网络传输。本地服务器和中心服务器中的数据库结构完全一样。
三、 本地服务器向中心服务器传输数据
1、 本地通信程序先把本地数据库中要传输的数据从各个表中收集起来,形成一个新的单机数据库(sqlite,这种数据库比较小)。里面各个表中存放着要上传的数据。
2、 与中心服务器上的通信程序连接,握手后,把生成的sqlite数据库通过网络传输给中心服务器,传输结束后,中心服务器对两个数据进行处理,如果sqlite内有的,sql 没有,则进行插入操作,如果都有的话,进行修改操作(删除的数据只是在库变化下标志位,并没有删除)。
3、 这些都处理好后,中心服务器上的通信程序给本地的通信程序发回一个标志,看是否处理成功,如果成功,则把本地中发送数据的标志位改成“已发送”,否则不变,等待下一次发送。
四、 中心服务器向本地服务器传输数据
1、 本地服务器向中心服务器发送下载指令和本地的IP,中心服务器上的通信程序收到指令后,开始收集数据形成sqlite数据库,然后向已指定IP的本地服务器发送文件。
2、 本地服务器收到文件后,开始与本地数据库内的数据进行比较,看是应该进行插入还是修改操作。结束后,再向中心服务器发送结束指令,
相关文档:
program PureAPIWindow;
uses
SysUtils,
Windows,
Messages;
const
WinClassName = 'DvsClass';
StrOut = 'Davis TextOut';
//窗口回调函数
function MyWinProc(
hWindow: HWND;
aMessage: UINT;
WParam: WPARAM;
LParam: LPARAM): LRESULT; stdcall; export;
......
Rem Delete Delphi temporary file
Rem ****************************
@echo Delete Delphi temporary file
@dir/w/s *.~*
@echo 以上为当前目录及子目录临时文件,请按任意键确认删除!
@pause
@for /r . %%a in (.) do @if exist "%%a\*.~*" del "%%a\*.~*"
@echo 删除成功!
@pause
Rem ************************* ......
http://www.delphibbs.com/delphibbs/dispq.asp?LID=2421470
本文是《Delphi 的RTTI机制浅探》的续篇,上篇地址在:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2420610
本文上篇基本上是
RTTI 入门介绍,续篇介绍了所有 TypInfo.pas 中的函数,附加了 Classes.pas、Graphics.pas、Controls.pas
中的 ......
delphi中application.processmessages的作用
procedure TForm1.Button2Click(Sender: TObject);
var
I, J, X, Y: Word;
begin
I := 0;
J := 0;
while I < 64000 do
begin
Randomize;
& ......
北京腾度网络科技有限公司
地址:北京海淀区学清路
电话:82755789
因工作需要,现面向北京招聘以下职位.
Delphi软件工程师
1、精通Delphi开发,熟悉VCL架构,代码风格良好。
2、有良好的团队合作精神,富有创新精神;
3、熟悉网络编程,对Indy组件,Socket开发有一定的了解;
4、熟悉面向对象编程思想,有组件或控件编 ......