以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于远程数据库  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113735)

--  作者:yjh2002
--  发布时间:2018/1/22 11:13:00
--  [求助]关于远程数据库

2005年做的一个系统,数据库在远程服务器上,有公网IP。开发工具是foxpro,开发的模是前后台socket通讯模式。即前台是独立的客户端软件,后台也是自做的服务端软件,前后台之间利用winsock控件进行通讯。比如前台要查询一个东西,则把查询条件提交给后台,后台接到后在数据库查询出结果传给前台。录入也是这样。这样做的原因是,在当时的网络条件下,直接连接远程数据库的话,连接状态不能一直保持连接,经常会自动断开了。所以直接操作远程数据库的话,软件得改成这种操作模式,1连接远程数据库,2连接成功,进行数据操作,3数据操作完毕,关闭连接。这样操作效率会很低,响应很慢。所以就自己做通讯了,当然自己做通讯除了快还有别的好处。

由于路径依赖,以后做远程系统就再也没有直接调用远程数据库,都是通讯方式。现在有些系统想改成foxtable来做,想问一下直接连接远程数据库好些呢还是还象以前那样自己做通讯方式好呢?速度是否有不同?foxtable连接远程会自动维护远程句柄吗?


--  作者:有点甜
--  发布时间:2018/1/22 11:38:00
--  

1、如果不需要十分注重安全,那就使用直接连接数据库的方式处理(直接连接数据库有可能暴露你的数据库地址、账号、密码)。这样可以节省很多控制的流程。

 

2、如果自己做通讯,你增删改查你都得实现,太繁琐。

 

3、关于速度等问题,你单独做一个小例子测试不就好了?遇到具体问题发到论坛解决。


--  作者:yjh2002
--  发布时间:2018/1/22 11:42:00
--  

那foxtable连接远程是否还需要象以前那样,每操作一步数据库都要进行,连接,操作,关闭连接这样?因为远程不是局域网或本地,经常会连接中断,不知道foxtable怎么处理?


--  作者:有点甜
--  发布时间:2018/1/22 12:23:00
--  

这种问题,你测试一下不就知道了。

 

foxtable处理数据的时候,是暂存在内存里面的,你最后save的时候,才会把数据一次性存放回数据库。


--  作者:yjh2002
--  发布时间:2018/1/22 13:36:00
--  
好吧,我先试试,估计最保险的还是用客户端类来做。