多客户端访问一个数据库 我想做一个vc/mfc访问sql server2005数据库的,多用户端访问一个数据库的。c/s结构,会有访问冲突的问题吧?用什么方法比较好呢?需要考虑什么问题呢?希望大家提供一下实例。请详细讲解一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充一下,我的数据访问采用的vc/mfc+ado,理论上ado是可以支持远程数据库访问,主要问题在于,当多个客户端同时访问数据库的时候会出现问题,如访问冲突之类。 1、MFC不是线程安全的;2、ADO、OleDB等均不是线程安全的;so, One Thread One DB Connection. Then you can do anything you want. 就是比如我的客户端会在一个动作中,分为a,b,c三个需要进行数据库操作的动作,其中某些语句需要较长时间执行,那么这样的情况下,另一个客户端做了其他的动作,也需要访问数据库,这时候,那个客户端就没法做了。可是市面上很多c/s结构的软件产品,也不可能都只能一个客户端访问吧? 给你举个例子: 线程A有4个Client需要访问数据库,线程B有5个Client需要访问数据库。 你在线程A中创建一个DB Connection,这4个Client共享这个DBConnection。 同理,线程B中也创建一个DBConnection,这5个Client共享这个DBConnection。 这样,不管你怎么操作,都不会出问题。 当然,如果你想问N个Client访问同一条数据库记录时有逻辑上的混乱,则这是另外一个问题了,你可以去看看ado的相关文档。去看看“锁定类型”和“键值类型”。 以下两种模式,可供参考:1. 裸客户端模式。客户端直接调用比如ADO来访问数据库,这样就涉及到并发访问数据库的问题,数据库可支持多少个并发访问,各种版本的数据库不尽相同。2. 客户端--后台服务器的C/S模式。通过建立socket连接的方式,处理客户端和服务器的数据交互。后台服务器在本地根据性能需要,创建一定的ADO连接,访问数据库,并返回结果给客户端。 急急!求vc如何执行SQL语句的放法 关于TAPI的问题? 非常急! LOGFONT旋转 怎样选取目录及目录下的文件 请教一个在VC中控制excel的问题 新手问题--关于数据传送 gethostname的问题 帮帮忙,真的很急,实现无限长度有理数的四则运算 关于DLL,简单,来者有分! 高分求救!(只能给58了)!一定给分! 判断客户端存活的问题 对话框中显示图片的问题。
主要问题在于,当多个客户端同时访问数据库的时候会出现问题,如访问冲突之类。
2、ADO、OleDB等均不是线程安全的;so, One Thread One DB Connection. Then you can do anything you want.
线程A有4个Client需要访问数据库,线程B有5个Client需要访问数据库。
你在线程A中创建一个DB Connection,这4个Client共享这个DBConnection。
同理,线程B中也创建一个DBConnection,这5个Client共享这个DBConnection。
这样,不管你怎么操作,都不会出问题。 当然,如果你想问N个Client访问同一条数据库记录时有逻辑上的混乱,则这是另外一个问题了,你可以去看看ado的相关文档。去看看“锁定类型”和“键值类型”。
1. 裸客户端模式。客户端直接调用比如ADO来访问数据库,这样就涉及到并发访问数据库的问题,数据库可支持多少个并发访问,各种版本的数据库不尽相同。
2. 客户端--后台服务器的C/S模式。通过建立socket连接的方式,处理客户端和服务器的数据交互。后台服务器在本地根据性能需要,创建一定的ADO连接,访问数据库,并返回结果给客户端。