ASP中常見的錯誤80004005信息
(l轉自active.com)
錯誤信息
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] The Microsoft Jet database
engine cannot open the file '(unknown)'. It is already opened exclusively
by another user, or you need permission to view its data.
原因:
這個錯誤發生在當IIS使用匿名帳號(通常是IUSR)時,該帳號在NT中對數據庫所在的目錄
沒有正確的權限.(這就是為什麼在Win95和PWS下沒問題,因為win95根本就沒有目錄權限這一說)
檢查文件和目錄的權限. 確定你能夠在該目錄中有能夠新建和刪除臨時文件的權限。
這些臨時文件其實是數據庫建立在同一個目錄下的文件, 但是要注意的是,有可能這些文件
也可能建立在別的目錄,例如 /Winnt.
使用NT的文件監視程序監視文件失敗時到底是訪問了什麼目錄。
這個NT的文件監視程序可以在這個地方下載http://www.sysinternals.com.
如果你對數據庫使用了一個網絡地址,例如映射地址,就要檢查一下共享文件和目錄的權限,
還要檢查一下數據源文件(DSN)是否被別的程序標誌成為正在使用中,
這些別的程序一般是Visual InterDev,關閉任何一個InterDev中的正打開和數據庫連接的項目。
這個錯誤還可能發生在這種情況:如果在DSN中使用了一個UNC路徑(就是通用命名協議),請改用
本地路徑進行測試,因為如果對本地數據庫使用UNC也可能出錯。
還可能發生在這種情況,如果服務器要訪問Access中的一個表,而這個表卻聯接在一個網絡服務器上。
錯誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
原因:
多人使用時數據庫被鎖定。
錯誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default
driver specified.
原因:
最可能的原因是ConnectString是一個在global.asa中初始化的Session變量 ,但是global.asa
卻沒有正常工作。解決辦法是,檢查賦值時是否正確:(在你的asp中加入下面的代碼)
<%= "'auth_user' is " & request.servervariables("auth_user")%>
<P>
<%= "'auth_type' is " & request.servervariables("auth_type")%>
<P>
<%= "connection string is " & session("your_connectionstring")%>
<P>
還有一個原因就是你在你的ConnectString中加入了多餘的空格,例如
下一页