[英]Scaleable MS Access ASP.NET app
我受以下限制,没有办法解决:
该应用程序是一种只读工具,可读取APP_Data文件夹中的许多Microsoft Access数据库。 大部分都能正常工作。
在负载下,它开始无法访问Access MDB。
访问Access MDB以限制访问错误的最佳策略是什么? 现在我尝试,然后在出现错误时执行Thread.Sleep(500),然后重试。
我认为在访问Access数据库时,可能有一些方法可以修改隔离/并发/锁定选项,以消除管理锁的开销。 也许尝试 “ Mode = Share Deny None;”。 在连接字符串中。 如果您随时随地以任何方式修改数据,我将不会使用它,因为它几乎会丢弃您通过数据库获得的所有隔离/并发管理。 使用风险自负。
数据多久更改一次? 如果它是只读的,您可以将数据库中的数据加载到缓存中并从那里读取而不是直接从数据库中读取吗?
什么样的特定错误得到。 我认为它们是连接错误?
这是一个可怕的解决方案,但是如果您确实“仅凭这些工具迷失在荒岛上”并且访问数据库完全是只读的,那么请为每个数据库创建多个副本,并仅允许一定数量的连接进入任何一个他们一次。 例如,如果您有2个访问数据库,则MdbAA和MdbBB然后创建如下副本:
然后,当请求MdbAA时,请查看当前有多少个请求正在访问MdbAA01,如果超过阈值,则尝试MdbAA02,等等。对MdbBB文件的任何请求都执行相同的操作。
就像我说的那样,这是非常糟糕的解决方案,但是如果您真的别无选择,那么它可能对您有用。 但实际上,听起来应用程序的访问权限(和共享主机)已不足够了,因此该升级架构了。
花一点钱,并获得一些SQL存储。 您花了多少时间将拐杖安装到损坏的发声系统上?
如果该项目值得做,那么就值得投资一些冷钱。
如果企业试图迫使您选择这条路线,请解释为什么您拥有的选择不可行。 如果首先建议使用该选项,则增加一对并说明为什么输入错误,但这是解决问题的方法。
对不起,如果那变成轻浮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.