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