Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可扩展MS Access ASP.NET应用程序_C#_Asp.net_Ms Access_Ms Jet Ace - Fatal编程技术网

C# 可扩展MS Access ASP.NET应用程序

C# 可扩展MS Access ASP.NET应用程序,c#,asp.net,ms-access,ms-jet-ace,C#,Asp.net,Ms Access,Ms Jet Ace,我受到以下限制,无法回避: 只读数据:Microsoft Access JET 4.0旧版 ASP.NET 2.0 共享主机,很少控制 或映射器-LLBL Gen Pro 该应用程序是一个只读工具,可读取app_数据文件夹中的大量Microsoft Access数据库。大多数情况下都很好 在负载下,它开始无法访问访问MDB 访问访问MDB以限制访问错误的最佳策略是什么?现在我尝试,然后线程。对错误进行睡眠(500),然后重试。数据更改的频率如何?如果它是只读的,您可以将数据库中的数据加载到缓存中

我受到以下限制,无法回避:

  • 只读数据:Microsoft Access
  • JET 4.0旧版
  • ASP.NET 2.0
  • 共享主机,很少控制
  • 或映射器-LLBL Gen Pro
  • 该应用程序是一个只读工具,可读取app_数据文件夹中的大量Microsoft Access数据库。大多数情况下都很好

    在负载下,它开始无法访问访问MDB


    访问访问MDB以限制访问错误的最佳策略是什么?现在我尝试,然后线程。对错误进行睡眠(500),然后重试。

    数据更改的频率如何?如果它是只读的,您可以将数据库中的数据加载到缓存中,然后从缓存中读取数据,而不是直接从数据库中读取数据吗


    得到什么样的具体错误。我假设它们是连接错误

    数据更改的频率如何?如果它是只读的,您可以将数据库中的数据加载到缓存中,然后从缓存中读取数据,而不是直接从数据库中读取数据吗


    得到什么样的具体错误。我假设它们是连接错误

    我认为在访问Access数据库时,可能有一些方法可以修改隔离/并发/锁定选项,以消除管理锁的开销。可能在连接字符串中尝试“Mode=Share-Deny-None;”。如果您在任何时候以任何方式修改数据,我都不会使用它,因为它几乎抛弃了您在数据库中获得的所有隔离/并发管理。使用时自行承担风险。

    我认为在访问Access数据库时,可能有一些方法可以修改隔离/并发/锁定选项,以消除管理锁的开销。可能在连接字符串中尝试“Mode=Share-Deny-None;”。如果您在任何时候以任何方式修改数据,我都不会使用它,因为它几乎抛弃了您在数据库中获得的所有隔离/并发管理。使用风险自负。

    这是一个可怕的解决方案,但如果您真的“在荒岛上迷路了,只有这些工具”,并且access数据库是完全只读的,那么请创建每个工具的多个副本,并且一次只允许一定数量的连接到其中任何一个。例如,如果您有两个access数据库MdbAA和MdbBB,则创建副本,如:

    • MdbAA01
    • MdbAA02
    • MdbAA03
    • MdbBB01
    • MdbBB02
    • MdbBB03
    然后,当请求MdbAA时,查看当前有多少请求正在访问MdbAA01,如果超过阈值,则尝试MdbAA02等。对MdbBB文件的任何请求都执行相同的操作


    就像我说的,这是一个非常糟糕的解决方案,但如果你真的没有选择,那么它可能对你有用。但实际上,该应用程序似乎已经超过了Access(以及共享主机),因此是时候升级该体系结构了。

    这是一个可怕的解决方案,但如果你真的“迷失在一个只有这些工具的荒岛上”,并且Access数据库完全是只读的,然后为每一个文件创建多个副本,一次只允许一定数量的连接到其中任何一个文件中。例如,如果您有两个access数据库MdbAA和MdbBB,则创建副本,如:

    • MdbAA01
    • MdbAA02
    • MdbAA03
    • MdbBB01
    • MdbBB02
    • MdbBB03
    然后,当请求MdbAA时,查看当前有多少请求正在访问MdbAA01,如果超过阈值,则尝试MdbAA02等。对MdbBB文件的任何请求都执行相同的操作


    就像我说的,这是一个非常糟糕的解决方案,但如果你真的没有选择,那么它可能对你有用。但实际上,该应用程序的访问权限(以及共享主机)似乎已经过了极限,因此是时候升级该体系结构了。

    花点钱,获得一些sql存储。你花了多少时间把拐杖安装到一个坏了的发声系统上

    如果这个项目值得做,那么就值得投资一些冷钱

    如果一家企业试图迫使你走这条路,请解释为什么你的选择是不可行的。如果你一开始就提出了这个建议,那就长出一对,解释一下为什么你错了,但这就是你可以修复它的方法


    很抱歉,如果那样说太轻率了。

    花点钱,获取一些sql存储。你花了多少时间把拐杖安装到一个坏了的发声系统上

    如果这个项目值得做,那么就值得投资一些冷钱

    如果一家企业试图迫使你走这条路,请解释为什么你的选择是不可行的。如果你一开始就提出了这个建议,那就长出一对,解释一下为什么你错了,但这就是你可以修复它的方法


    很抱歉,这是轻率的行为。

    您是否正确关闭了所有DB连接?即使他正确关闭了连接,他也可能会遇到问题,access对并发连接的数量没有限制吗?是的,我使用专业级别或绘图员为我做这件事,LLBL Gen ProI我很惊讶我的浏览器甚至可以在同一句话中呈现“可伸缩”和“访问mdb”…我知道我知道…SQL Server通常都会出现问题,但我迷失在一个荒岛上,只有这些工具。你是否正确关闭了所有数据库连接?即使他正确关闭了连接,他也可能会遇到问题,access对并发连接的数量没有限制吗?是的,我使用的是专业级别或映射程序,LLBL Gen ProI我很惊讶我的浏览器甚至可以在同一句话中呈现“可伸缩”和“access mdb”…我知道我知道…SQL Server通常都在其中,但我在一个荒岛上迷路了,只有这些工具。只读,但非常大。无法将其全部放入服务器上的RAM中。错误是连接错误。Bummer,您可以将一些较大的数据放在文件系统中(可能是xml)并从中读取,还是需要RDBMS来访问da