gpt4 book ai didi

delphi - 使用MS Access数据库的Delphi 7应用程序阻止通过MS Access Access

转载 作者:行者123 更新时间:2023-12-03 18:42:40 25 4
gpt4 key购买 nike

我有一个较旧的Delphi 7应用程序,已对其进行了一些修复。它使用Access数据库。大约有150个用户都远程打开应用程序并并行访问数据库。在我开始修复问题之前(嘿),即使数据库偶尔会变慢,它也可以很好地工作(除了Delphi应用程序中的错误)。

现在,我添加了一些功能和两个新表,我突然遇到了奇怪的问题。


MSAccess可以访问数据库(2010版)。这意味着:双击文件将打开MSAccess并打开数据库文件。
Delphi 7应用程序可以访问数据库。
如果我将原始ConnectionString模式从“ ReadWrite”更改为“ Share Deny None”(下面的整个连接字符串),则两个或多个Delphi应用程序实例可以共享数据库。
一旦运行了Delphi应用程序的实例,就无法再通过双击打开该数据库文件。 (当我这样做时什么也没有发生)。但是,我可以打开MSAccess并从其中打开数据库文件。那可行。


连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;Data Source=DBPath;
Mode=Share Deny None;
Extended Properties="";
Persist Security Info=False;
Jet OLEDB:System database="";
Jet OLEDB:Registry Path="";
Jet OLEDB:Database Password=****;
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password="";
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don`t Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;
Jet OLEDB:SFP=False


我仍然需要查看Renaud Bompuis提出的有关共享安全设置的所有建议,但是我必须为此挖掘出一个Admin,这可能需要一段时间。

最佳答案

如果您的计算机上有数据库的副本,请确保可以使用Access打开它而不会出现任何错误。如果遇到问题,请先解决此问题。也许压缩并修复数据库。

确保从中打开数据库的远程文件夹已添加到Access中的“受信任位置”列表中(与从中打开数据库的本地文件夹相同)。

如果可以在本地打开数据库,但不能在远程共享上打开数据库,则请确保共享的安全性设置允许您对整个共享进行读写访问,以便数据库引擎可以正确创建.laccdb或< cc>锁定文件。
有关类似问题,请参见问题MS Access - “file already in use” error on split database

基本上,即使没有其他用户连接,Access也没有理由无法打开远程数据库。

当您在此处提出问题时,请记住张贴尽可能多的详细信息。
例如,在这里,您应该发布正在使用的确切的连接字符串详细信息。您还应该提及尝试从Access打开数据库时收到的确切错误消息,因为它可以帮助我们识别问题。

关于delphi - 使用MS Access数据库的Delphi 7应用程序阻止通过MS Access Access ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13259290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com