单机程序如何实现数据共享?(100分)

  • 主题发起人 主题发起人 zhang_qg
  • 开始时间 开始时间
Z

zhang_qg

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠,小弟编了一个数据库,想通过共享程序的方法在局域网中共享数据
库,但是目前遇到了一个问题,各个机子上的对数据库的操作,不能更新到其它机
子上.请问如何解决?
 
还是用c/s吧


 
我做过一个简单的C/S,两层的,不需要创建应用服务器,只需加一个TDatabase,
能够解决你的问题,试试吧。
至于数据库连接参数,你可以把它们放到一个文件中或注册表里。
 
"在局域网中共享数据库"

如果你现在还不想做C/S的话,可按下面的方法做。

1、在你的各台机都装上BDE

2、分别在各台机上的运行BDE 选 Configuration页|Drivers|Native|Paradox
在右边的NetDir中填上你放有应用程序的机器名/路径

3、在网络邻居中找到应用程序,运行它。

 
黄耀彰,
你的方法我试过了,问题仍然存在,在这台机子上的操作post后另一台机子上
Table.close; table.open;后仍不能显示出来.您试过了吗?若试过了,请寄一个小程序过来:zhang_qg@163.net.Thank you!
 
做一个简单的C/S,我有过一个。
S端安装InterBase和你的数据库,不用后台服务程序。
C端安装应用程序和BDE,放一个TDatabase,直接指向S端的InterBase数据库。


 
基本同意的黄耀彰看法:
其实最主要是Netdir的设置问题,如果每一台机器的NetDir都指向同一路径,就
能实现共享, 例:Netdir: //server/program ,并不一定需要指向应用程序所
在路径(任意共享出来的可读写路径都可)。例外的情况是,Bde所指向的那台机器
并不能立即更新数据,要其它的机器全部关闭程序才可更新,上例中Server中数
据就不能立即更新。)
应用程序的话完全可以放到各自的机器上,数据库最好集中放到服务器上的一个
目录下。
我所写为公司写的程序就是用这种方法实现的。
如果你还有疑问,Email: seawin@bentium.net 详谈。
 
其实你的程序,只要加一个TDataBase控件,用InterBase用服务器,就可以简单地
做成c/s模式。
 
sea713,
谢谢你!
我做了一个小试验,关闭窗体时action:=cafree;一下即可实现数据更新,但当使
用子窗体时便不行了,难道非要关闭程序那么麻烦吗?那联机时如何实现数据更新?对方
不知何时关闭程序怎么办?有没有什么更好的办法?
 
是第一个表的数据没有保存,查一下BDE API,强制写数据到磁盘
 
CJ,
What is that API?
Thank you?


其它建议用C/S的朋友,因我现在没时间去试验,若我成功了,同样会为你们加分的,
你们可以到我其它问题上去领分,这100分太少了,不够分的.
 
将存放数据的目录共享,其他的机将其映射为网络驱动器(如F:),Netdir再指向F:
当然每台机都要装BDE
 
多人接受答案了。
 
后退
顶部