如果你用ODBC連接(DSN方式或其它方式)到遠程計算機的MDB文件,這將產生一個錯誤:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 大致意思是該文件可能被其他用戶訪問或無足夠的權限訪問。
下面有兩種方式,避免這個錯誤:
方式a. 使用DAO引擎訪問
Dim File, Conn, RS
Const ReadOnly = False
File = "\\server\share\file.mdb"
Set Conn = CreateObject("DAO.DBEngine.35").Workspaces(0).OpenDatabase(File,,ReadOnly)
Set RS = Conn.OpenRecordset(SQL)
方式b. ADO + Jet OLE DB provider方式
Dim Conn, RS
Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "Microsoft.Jet.OLEDB.4.0"
Conn.Open "\\server\share\file.mdb"
Set RS = Conn.Execute(SQL)
確定在運行ASP頁面時有足夠的訪問權限以訪問遠程計算機上的MDB文件,在訪問MDB文件前需要先登錄到遠程計算機,添加下面的代碼:
Set UM = CreateObject("UserManager.Server")
UM.LogonUser "帳號", "口令", "域"
...
open database
...
UM.RevertToSelf