我正在開發一個ASP經典網站,它連接到MS Access數據庫並實時顯示數據(我知道MS Access不是此目的的最佳選擇,但我的公司使用它的一切,所以我只是決定現在使用它)。當MS數據庫位於我的硬盤驅動器(C :)上時,它工作正常。但是,當我移動數據庫的網絡位置,如U之一:\跟蹤,它給了我這個錯誤:Microsoft Jet數據庫引擎無法打開網絡位置上的文件
Microsoft JET Database Engine error '80004005'
The Microsoft Jet database engine cannot open the file 'U:\tracking\database.mdb'. It is already opened exclusively by another user, or you need permission to view its data.
我知道這可能是由於有關創建安全權限(讀寫)用於MS Access數據庫的臨時文件(.ldb)。我重置U:\ tracking文件夾中的安全權限,該文件夾包含數據庫,但它不起作用。我甚至完全控制了「組和用戶名」會話中列出的每個帳戶,但錯誤仍然存在。
我也在我的IIS管理器中檢查了我的身份驗證設置。唯一啓用的設置是匿名身份驗證,並且此時使用應用程序池標識。如果我使用特定的用戶,我可能會將其添加到上述權限列表中,並給予相應的權限,但我無法保證它是合適的。有關我應該如何連接到網絡位置上的數據庫的任何想法?任何幫助,將不勝感激!
以下是簡單的代碼,我用它來連接到數據庫:
Dim dbCon
Set dbCon = Server.CreateObject("ADODB.Connection")
dbCon.Provider = "Microsoft.Jet.OLEDB.4.0"
dbCon.Open = "U:\tracking\database.mdb"
您需要授予對共享和文件夾本身的訪問權限。 – Gustav
對不起,但是「授予訪問權限」是什麼意思?我能夠在U:/等網絡位置讀取/寫入/修改文件。 –
與您的網絡管理員交談。共享擁有一組權限,驅動器/文件夾是另一組權限。有問題的權限不是你的,而是分配給應用程序的權限。 – Gustav