2010-03-16 66 views
3

我有一些访问中的数据源,我需要以编程方式连接,以便在幕后进行操作并使用户远离视线。ADODB连接字符串:工作组信息文件丢失?

说的数据源有一个密码“通过”,因为我打算在这里叫它。使用这种连接方法,我得到一个错误尝试使用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年,我们没有使用也没有通过访问使用过工作组识别文件。数据源上的数据库密码是通过设置数据库密码设置的,必须在专用打开的情况下完成。

我花了很长时间改变我的连接选项,把密码等放在哪里,要么找不到正确的格式,或(为什么我问这里)我想可能有一些其他未知,我必须设置去做这个。那里的任何人都有一些有用的信息?

+0

的问题比这复杂得多。问题是因为我通过一个类持有连接,我发现了一些我发现的错误,例如在没有SET命令之前返回一个ADODB连接,试图打开类和模块内部的连接(它已经存在开放,因此它已经打开的错误)。然而,在连接字符串中有一个错误,因此被接受的答案:) – Mohgeroth 2010-03-18 17:50:57

+0

你能解释一下你是如何解决这个问题的吗?或者给你提供帮助的信息的参考?这样,有一个解决方案可以让任何人有这个错误信息,就像我自己~~ – JPK 2014-03-11 11:34:59

+0

如下面的答案所示,这是我的连接字符串中的一个简单的错误。不幸的是,像大多数语言中提到的许多错误信息一样(VBA也不例外),提到的是一条红鲱鱼;与实际问题无关。 – Mohgeroth 2014-03-13 20:29:09

回答

13

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

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

+4

+1必须爱微软的错误报告! :D – booyaa 2012-04-05 14:07:39

+0

我从C#访问MDB文件时出现此错误,在我的情况下,我不得不将MDW添加到连接字符串。请参阅示例[这里](http://stackoverflow.com/a/18307822/426315) – itsho 2014-01-02 13:15:46

+0

+1:我有与C#.NET访问.accdb文件相同的错误,并更改连接字符串,如在示例中没有帮帮我。但是,在阅读该页面上的注释后,将我的Access客户端更改为“使用传统加密”(适用于反向兼容性和多用户数据库)后(注意!报告称使用Access 2010 - 2013默认加密方案加密的数据库不使用此连接字符串。在Access中;尝试选项并选择2007加密方法。),它工作正常!我没有尝试明确地指定本地.mdw文件,就像你做的那样@itsho。 – Skovly 2016-04-16 14:37:11