远程数据库存取问题,望各位高手指教!200分(只能入这么多分,我会再给分)

我现在要做一个物流管理的软件,情况是这样的:
1.总部在深圳,分部在上海.北京等,总部负责商品调拔,分部在各地销售.
2.需远程传输的数据:
a总部向各分部发调拔单,
b.分部向总部上报每日销售日报.销售日报由分部电脑程序汇总生成,远端存入总部的数据库中.
我不想用分部在网上输入的方法,因为传输的数据只要前端录入,汇总后,只要短时间传输便可以了,有点类似于电子报税,但有以下几个问题
(1).各分部如何连到总部的服务器,找到该数据库的该表呢?
(2).分部如何及时分部传给它的讯息呢?
请问各位高手,有没有什么最佳解决方案,具体如何实现?开发类似的程序要注意什么问题?这是一个比较典型的案例,望大家积极参与,给我指点迷津,愿与各位交个朋友.先谢大家了.!
[382 byte] By [girl] at [2008-6-10]
# 1
做成B/S结构
dancemaple-枫之舞 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 2
请看李维的Delphi5.x 分布式多层应用——电子商务篇
ntserver4-得儿飞 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 3
补充:
公司总部局域网,一台服务器,数据库:SQL2000,
各分部:单机,通过拔号上网.
分部录入的数据:各商场柜台销售明细.
分部需传递给总部的数据:各分部之间的调拨单,销售日报,收货单.
总部需传递给分部的数据:调拨单.
现在的关键问题是:分部的电脑如何联上总部的数据库,是具体的该怎么写.就象局域网内
是用ADOConnection连接SQL 2000,那异地连数据库用什么控件呢?用什么方式保证它的安全性
呢?如果用拨号,如何用程序实现连到那台服务器呢?它又通过什么来确定那台服务器呢?
如果实在不行就要申请服务器固定IP地址了,那么又通过什么控件连接到指定IP地址的服
务器的SQL 2000的指定数据库的表呢?具体该怎么写呢?
girl at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 4
要结合Com/COM+/DCOM技术
ysmstoneman-迪蜚 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 5
各位能否具体点,能详细地讲讲,最好有代码示范,一步一步地有点耐心嘛,我也知道要结合Com/COM+/DCOM技术,可具体怎么做呢?李维的Delphi5.x 分布式多层应用——电子商务篇 我有,但都是讲在WEB上处理,如果远端直接传数据到服务器的SQL,如何处理呢?用什么控件?能否详细说明.再怎么说也有200分呀!
girl at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 6
简单的方法就是做成浏览器的。
稍微复杂一点的可以远程拨号直接拨入总部的局域网,就无需考虑通信的细节了。
aim2010-正达 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 7

1.公文包模式 最简单
2.用B/S结构 要有WEB编程基础
3.web service 也简单,看一下李维的相关文章
zds0707-周 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 8
有以下几种方式供参考:
(1):申请一个Ftp空间,如ftp.shanghai1.com,每一个分部建一个目录,如sh,bj..分部的销售日报每天做完后按一定格式一定文件名存为纯文本文件,如:20(件数) 12(规格) 400(双数) 52.25(平均单价),上传到ftp空间自己的目录下,同时将旧的文件删掉; 总部在每天晚上拔号上网后,取下ftp上各自目录下的文件,以约定好的文件名和格式向数据库中读入信息就可完成。
(2):拔号上网每次分配的ip都不同,可以申请一个ftp空间,在这个空间中建一个固定的目录存放总部服务器的ip,每天在一个固定的时间拔号上网,将本机ip以纯文本方式固定文件名发送到这个目录下,分机可以以此ip挂到自己的Odbc或Ado上,可以对总部的部份数据表操作;
以上这两种方法都是经过实际的使用,如果程序设计好了极少有故障发生的。也容易实现费用少.如果用Delphe设计的话FastNet里的nmftp是一个很好的选择.
zouwenyan-珠穆朗玛 at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 9
我的方案:采用分布式是不容置疑的,便用以后的扩展,分部有自已的数据库,总部有总部
的数据库,分部需要传递给总部数据或查询总部数据时就远程连接到总部数据库进行操作.
现在问题其实集中在客户端如何连到服务器端.因为如果服务器端的IP是固定的其实写法
大家都知道,采用分布式多层的开发方式,(1)建立一个应用服务器,用ADOConnectiont很快就
连上,用TADODataSet选好要连接的表,再用TDataSetProvider设好它的DataSet属性;(2)应用
程序用TDCOMConnection,TClientDataSet连接刚建立的应用服务器即可.开发起来和C/S一样,
很简单,这些其实在'李维'的<<ADO/MTS/COM+高级程序设计篇>>第3章讲的很清楚,我也实际
用了,但限于IP是固定好了的.现在其实关键是如何定位服务器端,怎样才能又经济合理,数据
又安全.
综合各位意见及我的思路,有以下三种方案:
1.服务器与分部都用model连接,通过拨号方式直接连到总部,不过各分部可都是长途电话.
但数据安全性高.
2.服务器端也拨号上网.因拔号上网每次分配的ip都不同,可以申请一个ftp空间,在这
个空间中建一个固定的目录存放总部服务器的ip,每天在一个固定的时间拔号上网,将本机
ip以纯文本方式固定文件名发送到这个目录下,分机可以以此ip挂到自己的Odbc或Ado上,
可以对总部的部份数据表操作;此方法较经济安全.但有时间限制.
3.总部申请IDSL,包月200元,再加50元,申请一固定IP地址,这样总部就随时在线上,数据
可随时查询,上传,分部:用拨号上网,全是上网费不用长途.此方法较经济,数据安全性只能说
较安全.千万别遇上黑客或病毒什么的.
以上方]案都是以中小型企业运用为目标的,不过我比较趋向于第三种,比较实用,总部数
据可随时访问.但数据安全性,我想如果要更安全的话,总部放两个SQL Server服务器,一个放
总部的数据,另一个放总部与分部都需共享的数据库,里面只有共享的表,利用SQL Server的机
制两个数据库的共用数据表保持数据一致.这样是否更安全些 ?
不知各位意见如何?
另,再多谢大家!
girl at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...
# 10
有人讨论
girl at 2007-10-23 > top of Msdn China Tech,Delphi,数据库相关...