2010-03-16 69 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