以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于使用外部数据的项目开发问题讨论  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=9137)

--  作者:kylin
--  发布时间:2011/2/25 19:03:00
--  关于使用外部数据的项目开发问题讨论
 

目前Foxtable开发的项目,如果使用外部数据表,一旦连接不上就没有办法做任何项目开发工作,

更重要的是,一旦外部数据库被删除,则这个项目就完全报废。

 

这样给开发者带来了极大的麻烦,不知道老六能否有一个两全的措施。

 

本人建议的“这个两全的措施”就是,仅针对开发者有效,如果使用外部数据表,那么每次开发结束之后就自动产生一个内部表(不保存数据),一旦外部表被删除则还可以(而且仅可以)重定向回外部数据源,这样还是可以挽救整个项目。除了重定向,一切开发操作(包括日常操作)都要被禁止,否则就乱套了;至于暂时连不上,那肯定也是不允许操作,只是允许重定向。

 

除了开发者以外的操作员,在外部数据表连接不上或者外部数据库被删除的情况之下,仍然是没有办法操作,除了允许管理员重新设置外部数据源链接这个操作以外

[此贴子已经被作者于2011-2-25 19:03:56编辑过]

--  作者:程兴刚
--  发布时间:2011/2/25 20:19:00
--  

这样的话,那些丢失的数据怎么办?,如果仅在本机使用,和从安装开发后的系统没有什么区别!如果是远程或非本地使用外部数据源,对于一个数据库几近全部丢失的数据库管理系统,恢复不了数据,同样是没用的。

这个问题关键在于那个保存外部数据源的电脑(服务器)的安全管理问题,个人认为如何对服务器的安全管理和数据备份才是关键。

比如:假如被人删除了正在开发的系统怎么办?估计贺老师也无能为力,这和删除外部数据源是同样的道理。


--  作者:狐狸爸爸
--  发布时间:2011/2/25 22:57:00
--  

呵呵,最重要的就是数据,做好备份才是根本。


--  作者:e-png
--  发布时间:2011/2/25 23:44:00
--  

测试一下,怎么发不了帖子呢

 

回帖子可以,为何发新帖子不行呢。

[此贴子已经被作者于2011-2-25 23:45:13编辑过]

--  作者:lihe60
--  发布时间:2011/2/26 9:50:00
--  
以下是引用kylin在2011-2-25 19:03:00的发言:
 

目前Foxtable开发的项目,如果使用外部数据表,一旦连接不上就没有办法做任何项目开发工作,

更重要的是,一旦外部数据库被删除,则这个项目就完全报废。

 

这样给开发者带来了极大的麻烦,不知道老六能否有一个两全的措施。

 

本人建议的“这个两全的措施”就是,仅针对开发者有效,如果使用外部数据表,那么每次开发结束之后就自动产生一个内部表(不保存数据),一旦外部表被删除则还可以(而且仅可以)重定向回外部数据源,这样还是可以挽救整个项目。除了重定向,一切开发操作(包括日常操作)都要被禁止,否则就乱套了;至于暂时连不上,那肯定也是不允许操作,只是允许重定向。

 

除了开发者以外的操作员,在外部数据表连接不上或者外部数据库被删除的情况之下,仍然是没有办法操作,除了允许管理员重新设置外部数据源链接这个操作以外

[此贴子已经被作者于2011-2-25 19:03:56编辑过]

软件和数据库分开要备份,不管发生什么也高枕无忧。


--  作者:kylin
--  发布时间:2011/2/26 10:47:00
--  
以下是引用程兴刚在2011-2-25 20:19:00的发言:

这样的话,那些丢失的数据怎么办?,如果仅在本机使用,和从安装开发后的系统没有什么区别!如果是远程或非本地使用外部数据源,对于一个数据库几近全部丢失的数据库管理系统,恢复不了数据,同样是没用的。

这个问题关键在于那个保存外部数据源的电脑(服务器)的安全管理问题,个人认为如何对服务器的安全管理和数据备份才是关键。

比如:假如被人删除了正在开发的系统怎么办?估计贺老师也无能为力,这和删除外部数据源是同样的道理。

希望你能认真看一下我的这个建议,仔细了解我的主要意思。

 

丢失了数据是很惨重的事,但是我不是要讨论如何不丢失数据,不是要讨论服务器的安全问题。

正在开发的系统被删除这个也不是我要讨论的问题。

 

众所周知,项目系统不仅仅用于保存数据,更重要的有两点:一是设定一个协同的流程,实现组织机构重要的业务管理控制;二是建立一套严密的运算体系,提供必要的信息报告。

 

你认为“数据丢失了,那么项目系统没什么用”,恰恰相反,在很多时候(在本人使用过程中的很多时候),数据丢失是大事,连带地项目系统打不开可是灭顶之灾啊:你无能为力了,一个验证过的管理流程、一个调试好的运算体系就这样不见了,想想吧,重构重新测试,还是中途而废?我们该如何选择?

 

我的这个建议,包括“建议“用户管理”中的用户和扩展属性可以直接使用外部数据表的数据  ”这个帖子,其实是希望Foxtable更加的强悍!希望得到大家充分的理解!

 

我的建议其实是和资深程序开发人员充分讨论之后提交的,相信具有一定的普遍性。

[此贴子已经被作者于2011-2-26 10:50:45编辑过]

--  作者:mr725
--  发布时间:2011/2/26 13:48:00
--  

楼主说的在理。!~ 

 

所谓“项目就完全报废”,我理解是这样的:所有的表事件、与表相关的设置以及窗口相关的一切设置、事件等等,都没有了,虽然可以从导出的代码中(word文档)中恢复,可是十分费力···

 

是否可以这样处理呢:

 

1、建立一个【内部表】,用于做一个表(外部、内部表)清单:将所有外部内部表的表名、列名、列类型等等都存在这个【内部表】中。

 

2、一旦数据库受损不能用,可以用ADOXBuilder创建所有在【内部表】里所列的各种表,以便重新定向。

 

我的印象是:只要同名表在,项目中的所有关于该表的设置、事件、窗口等都可以使用了,不知我理解的对否。。。


--  作者:狐狸爸爸
--  发布时间:2011/2/26 17:19:00
--  

呵呵,其实各位的担心是多余的,即使误删除了数据,还有备份啊。
实际使用的时候,难道会有人不备份数据吗?万一某天硬盘坏了或者被无意格式化了,哪怎么办?

其实用户是通过项目来操作数据源的,直接接触的是项目,项目本身被误删除的可能性更大。

所以不能指望软件来完成这样的工作,我始终认为做好数据备份才是解决安全问题的根本之道。

如果还是担心数据源被删除,那就对项目做一个特殊备份,这个特殊备份的项目,其外部数据表全部重定向到内部表。

更不用担心在外部数据源删除某个表,会导致foxtable丢失此表已经设计好的窗口和表事件代码,因为只需在外部数据源新建一个同名的表,不管结构是否相同,所有的设计都会自动回来的。

[此贴子已经被作者于2011-2-26 17:35:33编辑过]

--  作者:kylin
--  发布时间:2011/2/28 9:11:00
--  

本次讨论针对开发者,我认为老六可以参考一下mr725的建议,我充分理解老六你的声明,但我的这个提议无非是为了增强Foxtable。

 

这个功能的实现,对于老六你来说,就好比当时增加“重定向”这个功能一样。


--  作者:狐狸爸爸
--  发布时间:2011/2/28 9:41:00
--  

呵呵,kylin兄应该是遇到了这样的麻烦,所以才提出此建议的。

有这个功能当然更好,但毕竟在没有备份的情况下删除数据源,是一个概率极低的事件,为此而专门开发一个如此复杂的功能,可能不太值得的,Foxtable毕竟是一个通用软件,不能做得太冗余和累赘的。