2011-03-20 96 views
4

有多少用户可以同时打开与Microsoft Access数据库的连接? 我使用asp.net 4.0编写我的应用程序。有多少用户可以打开与Microsoft Access的连接?

<add name="E_ShopAccessConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\report.mdb;Persist Security Info=True" providerName="System.Data.OleDb"/> 

回答

7

Access数据库拥有256个连接的限制,但在数据库驱动程序每个进程64个连接的限制,并作为IIS是一个单一的过程中你的极限是64

如果你小心正确地关闭连接,命令和数据读取器,对于大量用户来说这通常已经足够了。每个访问者不需要自己的连接。

你很可能你用完了连接前运行到其他限制。如果你有很多访问者,你会发现Access数据库不够快,你需要一个更高级的数据库系统。

如果你用完了连接,这很可能是因为您不关闭数据库对象得当,使他们仍然保持数据库连接的生命,直到他们是垃圾回收。

+1

Jet/ACE限制实际上是255个并发用户,可能会或可能不会直接映射到您认为的连接方面。但这是一个理论上的限制 - 没有人能超过实际理论极限的50%。但总的来说,我想说Jet/ACE首先不是Web服务器应用程序的合适数据存储。 – 2011-03-24 20:23:44

-2

不够。

将取决于版本,你可以有5至10,但其安全真正< 3“每个用户的工作高音量”。

技术上讲,它可以得到高得多,但也有一些不好的经验试图恢复文件。一般来说,我们建议> 5,因为平均值应该移到SQL Server之类,作为前端MS Access映射的后端。

+3

对于ASP.Net实现,少于三个可能是正确的,但对于常规的Access前端后端实现来说,这个数字相当低。我已经有至少10个人进行非常持续的数据输入,另外15个人正在做其他的事情和报告。 – 2011-03-21 00:21:34

4

如果您正在使用从ASP.NET MS访问网站的单个用户的上下文中运行,因此不应该有太多的问题。

[大多数人不会同意,但我有一个经验使用MS Access与ASP和ASP.NET在一个相当高的交易网站,它工作正常,确保数据库是最新版本的MS访问]

我会考虑使用SQL Server Express作为替代。

5

根据微软:与每个数据库256并发打开读/写连接的限制最多每个进程64连接。

但我跟上面20连接体验性能下降显著。

相关问题