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.
原因:
這個錯誤發(fā)生在當IIS使用匿名帳號(通常是IUSR)時,該帳號在NT中對數(shù)據(jù)庫所在的目錄沒有正確的權限.(這就是為什么在Win95和PWS下沒問題,因為win95根本就沒有目錄權限這一說)檢查文件和目錄的權限. 確定你能夠在該目錄中有能夠新建和刪除臨時文件的權限!
這些臨時文件其實是數(shù)據(jù)庫建立在同一個目錄下的文件, 但是要注意的是,有可能這些文件也可能建立在別的目錄,例如 /Winnt.
使用NT的文件監(jiān)視程序監(jiān)視文件失敗時到底是訪問了什么目錄。
這個NT的文件監(jiān)視程序可以在這個地方下載http://www.sysinternals.com.
如果你對數(shù)據(jù)庫使用了一個網(wǎng)絡地址,例如映射地址,就要檢查一下共享文件和目錄的權限,還要檢查一下數(shù)據(jù)源文件(DSN)是否被別的程序標志成為正在使用中,這些別的程序一般是Visual InterDev,關閉任何一個InterDev中的正打開和數(shù)據(jù)庫連接的項目!
這個錯誤還可能發(fā)生在這種情況:如果在DSN中使用了一個UNC路徑(就是通用命名協(xié)議),請改用本地路徑進行測試,因為如果對本地數(shù)據(jù)庫使用UNC也可能出錯。
還可能發(fā)生在這種情況,如果服務器要訪問Access中的一個表,而這個表卻聯(lián)接在一個網(wǎng)絡服務器上。
2.錯誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
原因:
多人使用時數(shù)據(jù)庫被鎖定!
3.錯誤信息:
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
卻沒有正常工作。解決辦法是,檢查賦值是否正確:
還有一個原因就是你在你的ConnectString中加入了多余的空格,例如
DSN = MyDSN; Database = Pubs;
試試改成下面這個樣子:
DSN=MyDSN;Database=Pubs;
如果是global.asa還沒有工作,檢查該文件是否在運用程序的根目錄中,或者是虛擬目錄的根目錄中。