使用MS Access数据库的Delphi 7应用程序阻止通过MS访问进行访问

时间:2012-11-06 20:57:59

标签: delphi ms-access delphi-7 ado

我有一个旧的Delphi 7应用程序,我修复了一下。它使用Access数据库。大约有150个用户都远程打开应用程序并并行访问数据库。在我开始修复之前(heh),这很好用(除了Delphi应用程序中的错误),即使数据库偶尔会有点慢。

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

  1. MSAccess可以访问数据库(2010版)。这意味着:双击该文件将打开MSAccess并打开数据库文件。
  2. Delphi 7应用程序可以访问数据库。
  3. 两个或多个Delphi应用程序实例可以共享数据库,前提是我从" ReadWrite"更改原始ConnectionString模式。 to" Share Deny None" (下面的整个连接字符串)。
  4. 一旦Delphi应用程序的一个实例运行,双击数据库文件就不能再打开了。 (当我这样做时没有任何反应)。但是,我可以打开MSAccess并从中打开数据库文件。那会有效。
  5. 连接字符串:

    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关于股票安全设置的所有建议,但是我必须为此发掘一个管理员,这可能需要一段时间。

0 个答案:

没有答案