ASP學習:錯誤80004005信息處理方法

2010-08-28 10:45:39來源:西部e網(wǎng)作者:

   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ā)生在當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還沒有工作,檢查該文件是否在運用程序的根目錄中,或者是虛擬目錄的根目錄中。

關鍵詞:ASP

贊助商鏈接: