【问题标题】:ADODB Connection String: Workgroup Information file is Missing?ADODB 连接字符串:缺少工作组信息文件?
【发布时间】:2011-01-28 08:26:16
【问题描述】:

我有一些数据源可供访问,我需要以编程方式连接到这些数据源,以便在幕后处理事情并让用户无法看到。

所说的数据源有一个密码“pass”,我将在这里调用它。使用此连接方法尝试使用 open 方法时出现错误

Dim conn as ADODB.Connection
Set ROBBERS.conn = New ADODB.Connection
conn.open "Provider=Microsoft.Jet.OLEDB.4.0;" _
        & "Data Source=\\pep-home\projects\billing\autobilling\DPBilling2.mdb;" _
    & "Jet OLEDB:Database Password=pass;", "admin", "pass"

“无法启动您的应用程序。工作组信息文件丢失或被其他用户独占打开。”

由于计划进入 2007 年,我们没有使用也从未使用过访问工作组标识文件。数据源上的数据库密码是通过设置数据库密码设置的,必须在独占打开时完成。

我在更改连接选项、密码放置位置等方面花了很多时间,要么找不到正确的格式,要么(我为什么在这里问)我认为可能还有一些其他未知的东西我必须设置做这个。有人知道一些有用的信息吗?

【问题讨论】:

  • 问题比这更复杂。问题是因为我通过一个类保持连接,我发现了一些错误,例如在没有 SET 命令的情况下返回 ADODB 连接,尝试在类和模块内打开连接(它已经在打开,因此它已经打开的错误)。然而,连接字符串中有一个错误,因此接受了答案:)
  • 您能解释一下您是如何解决这个问题的,或者提供对您有帮助的信息的参考吗?这样一来,像我这样的其他任何人都可以使用此错误消息的解决方案 ~~
  • 如下面的答案所示,这是我的连接字符串中的一个简单错误。不幸的是,就像大多数任何语言(VBA 也不例外)中出现的许多错误消息一样,提到的错误消息是一条红鲱鱼;与实际问题无关。

标签: ms-access passwords connection-string adodb


【解决方案1】:

您的连接字符串似乎不正确。试试:

conn.open "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=\\pep-home\projects\billing\autobilling\DPBilling2.mdb;" _
& "Jet OLEDB:Database Password=MyDbPassword;"

-- http://www.connectionstrings.com/access

【讨论】:

  • 从 C# 访问 MDB 文件时出现此错误,在我的情况下,我必须将 MDW 添加到连接字符串。见例子here
  • +1:我在使用 C# .NET 访问 .accdb 文件时遇到了同样的错误,并且像示例中那样更改连接字符串没有帮助。但是,在阅读该页面上的注释(注意!报告说使用 Access 2010 - 2013 默认加密方案加密的数据库不使用此连接字符串。在 Access 中;尝试选项并选择 2007 加密方法。),它成功了!我没有尝试像您那样明确指定本地 .mdw 文件,@itsho。
  • 在我的情况下,我通过 SQL Server Management Studio 从 Access 导入数据,它设置了“密码”属性,而不是我可以通过高级设置设置的“Jet OLEDB:数据库密码”。
猜你喜欢
  • 2013-08-15
  • 2021-09-07
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 2015-03-25
相关资源
最近更新 更多