sqlconnect在远程数据模块中的讨论(0分)

  • 主题发起人 主题发起人 tianjiao
  • 开始时间 开始时间
T

tianjiao

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层开发中,使用DBEXPRESS+SQL,服务端中,SQLCONNECT这个控件应该放在remotedatamodel中,还是放在from中,个人认为,觉得放在form中好象好一点,应用服务器在接受请求时remotedatamodel会被创建多个实例,那主是说生成了多个SQLCONNECT,即使程序正常,也可能是浪费资源,而FORM仅创建一次。不知道我的观点有什么问题,请高手指教。本题仅论坛,没有积分.
 
个人认为SQLCONNECT应放在remotedatamodel中。像MSSQL,IB,DB2等中大型数据库都是基于多线程连接模式的,如果SQLCONNECT放在form中,由于remotedatamodel会被创建多个实例,那么多个实例只能共享一个数据库连接。这种情况在单个客户端的情况下不会有什么问题,而如果是有多个客户端连接则极易出问题。我们可以设想一下某个场景:
假设SQLCONNECT放在form中,客户端分别为A、B、C,如果A和B在某一时点同时向主机做“新增一笔数据”的操作,A客户端的新增数据为“张三 2004/05/01 20:01”;B客户端的新增数据为“李四 2004/05/28 15:20”,此时极有可能出现数据串户现象。也许在数据库中会出现“张三 2004/05/28 15:20”这样的数据。而如果是SQLCONNECT放在remotedatamodel中,则AB两个客户端只能分别在各自的线程里对主机数据进行更新,不会出现上述的错误。
 
后退
顶部