delphi 控制分布式数据库通信方式
一、 网络布局
一台中心SQL服务器(简称:中心服务器),多台分布在不同地域的SQL服务器(简称:本地服务器),各个本地服务器和中心服务器都能通过internet实现网络互连。
二、所用语言及数据库:Delphi +Sql
二、 通信要求
每台本地服务器与中心服务器每天都能相互交换数据库内的数据,实现数据的一致。但是不能保证数据的时实性(这一点请大家赐教)。本地服务器和中心服务器上都有一个通信程序,负责文件的网络传输。本地服务器和中心服务器中的数据库结构完全一样。
三、 本地服务器向中心服务器传输数据
1、 本地通信程序先把本地数据库中要传输的数据从各个表中收集起来,形成一个新的单机数据库(sqlite,这种数据库比较小)。里面各个表中存放着要上传的数据。
2、 与中心服务器上的通信程序连接,握手后,把生成的sqlite数据库通过网络传输给中心服务器,传输结束后,中心服务器对两个数据进行处理,如果sqlite内有的,sql 没有,则进行插入操作,如果都有的话,进行修改操作(删除的数据只是在库变化下标志位,并没有删除)。
3、 这些都处理好后,中心服务器上的通信程序给本地的通信程序发回一个标志,看是否处理成功,如果成功,则把本地中发送数据的标志位改成“已发送”,否则不变,等待下一次发送。
四、 中心服务器向本地服务器传输数据
1、 本地服务器向中心服务器发送下载指令和本地的IP,中心服务器上的通信程序收到指令后,开始收集数据形成sqlite数据库,然后向已指定IP的本地服务器发送文件。
2、 本地服务器收到文件后,开始与本地数据库内的数据进行比较,看是应该进行插入还是修改操作。结束后,再向中心服务器发送结束指令,
相关文档:
关于IntraWeb程序在编译时出现错误的解决方法
错误提示:[Error] IWLicenseKey.pas(12): Undeclared identifier: 'SetLicenseKey'
处理方法:进入菜单Tools->Environment Options,选择‘Library’,将'Library path'参数中有关intraweb的目录放在前面即可。
使用&n ......
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
中的 ......
1) Delphi向oracle中传递参数 如oracle中的参数名为erpcx
答:如果想从表里取值到oracle,则erpcx:=trim(aq1.fieldbyname('erpcx').AsString);
否则直接用控件名字
语句为
with aperp do
begin
connection:=dm.ADOCerp;
parameters.Clear;&nbs ......
北京腾度网络科技有限公司
地址:北京海淀区学清路
电话:82755789
因工作需要,现面向北京招聘以下职位.
Delphi软件工程师
1、精通Delphi开发,熟悉VCL架构,代码风格良好。
2、有良好的团队合作精神,富有创新精神;
3、熟悉网络编程,对Indy组件,Socket开发有一定的了解;
4、熟悉面向对象编程思想,有组件或控件编 ......
方法一:
直接弹出UDL对话框:
use
ADOConed;
EditConnectionString(ADOQuery1);
方法二:
⑴、右键---新建---文本文档,重命名为 connSet.udl 。
⑵、双击打开 connSet.udl 按提示操作配置数据库,选择本地或远程数据库,配置好后退出。
⑶、使用Delphi 控件TADOConnection连接代码:
在Form ......