Mar*_*usz 1 c# database ms-access ms-access-2000
我开发了一个网络应用程序,在我公司使用了近几年.在开始时,它管理有关用户,权利等的信息.随着时间的推移,它与其他功能一起成长.它增长到了我有桌子的地步,比方说10-20列,甚至20,000到40,000条记录.
我一直听说Access不适合多用户环境.第二件事是,当我尝试通过网络从表中读取一些记录时,必须将整个表拉到客户端.之所以发生这种情况,是因为服务器端没有数据库引擎,而且客户端也进行了数据过滤.
我会将此项目迁移到SQL Server,但遗憾的是在这种情况下无法完成.
我想知道是否有比使用Access数据库更可靠的解决方案,并仍然使用单文件数据库系统.
我们使用dBase IV有相当庞大的系统.据我所知,它是完全多用户数据库系统.
也许用它代替Access会很好吗?是什么让我不确定dBase IV比Access 2000更老的事实.我不确定它是否是一个很好的解决方案.
也许还有其他一些选择?
如果你的Jet/ACE后端有你提到的记录数量问题,听起来你有架构设计问题或结构效率低下的应用程序.
正如我在你原来的问题评论说,李连杰并没有取得完全的表.这是一个人们传播的神话,他们不知道他们在说什么.如果您有适当的索引,则只从文件服务器请求索引页面(然后,只需要满足您的条件的那些页面),然后检索的唯一数据页面将是那些具有符合条件的记录的页面你的申请.
因此,如果您看到全表扫描,则应该查看索引.
您没有提到您的用户群.如果它超过25左右,你可能会受益于升级你的后端,特别是如果你已经习惯了SQL Server.
但是您为这些微小的表所描述的问题表明在您的架构或应用程序中的某处存在设计错误.
FWIW,我有Jet后端的Access应用程序,在多个表中有成千上万的记录,十几个同时用户添加和更新记录使用,并且检索单个记录和小数据集的响应时间几乎是瞬时的(除了很少有复杂的操作,比如检查新输入的记录是否与现有数据重复 - 这样做比较慢,因为它使用了大量的LIKE比较和表达式的评估来进行比较).你所经历的,虽然不是Access的前端,但与我对各种规模的Jet数据库的长期经验不相称.