常見的80004005錯誤及其解決方法_ASP教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
在編寫WEB應用程序的過程中,我們常常要跟數據庫打交道,例如我們日常經常用的數據庫ACCESS、SQL SERVER等。在連接這些數據庫的時候,系統往往會給我們一些象這類“80004005”錯誤,這些五花八門的錯誤信息很另人頭痛。為了方便網友解決這類問題,本文將詳細的介紹和解答這類問題。
[錯誤信息]
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中對數據庫所在目錄
沒有正確的權限.
[解決方法]
1、檢查文件和目錄的權限. 保證Evryone能夠在該目錄中有新建和刪除臨時文件的權限。
2、檢查數據源文件(DSN)是否被別的程序標志在使用中,這些程序一般都是Visual InterDev,關閉任何一個正在InterDev中打開和數據庫連接的項目。
3、檢查ACCESS中的某個表是否在這時已連在一個網絡服務器上。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
[原因]
要連接ACCESS數據庫這時正在被使用使數據庫被鎖定,導致無法訪問。
[錯誤信息]
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中初始化的Application連接字符串 ,而這時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中加入了空格,例如
DSN = MyDSN; Database = Pubs;
試試改成下面這個樣子:
DSN=MyDSN;Database=Pubs;
如果是global.asa還沒有被運行,檢查該文件是否在運用程序的根目錄中,或者是虛擬目錄的根目錄中。
還有可能錯誤出現的原因是DSN名稱沒找著,這可以采用我提供的id=36767的辦法解決。最后是檢查是否安裝了最新的驅動程序,既是否是最新的MDAC版本。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not ??
[原因]
這個錯誤有可能是出現在你的計算機上軟件安裝(或則反安裝)的順序上。如果ODBC的版本不一致的話,就會發生該錯誤。
[解決方法]
辦法是安裝最新版本的MDAC。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
registry key 'DriverId'.
[原因]
這個錯誤發生在從注冊表中讀取數值的時候。 使用regedit32.exe檢查注冊表的權限。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
[原因]
原因之一:當一個數據庫中包含有分別在不用機器上的許可關系時,這也可能發生在同一臺機器上,當給一個關系設置了UNC路徑,而另一個關系卻是本地路徑。
原因之二:當用戶使用IIS匿名帳號登錄后,對本地這臺機器而言他是有權的,但是對于一個UNC路徑的機器,另外這臺機器是不會認為你當前匿名登錄的帳號在它那上面也是合法的。這樣它就不允許你訪問它上面的資源,導致錯誤。
[解決方法]
1、在IIS工具中,改變IIS匿名帳號成另外一個基于域的帳號。(也就是不使用匿名登錄)
2、或則在那臺你要訪問資源的機器上也創建一個和當前匿名帳號同樣的帳號,使用同樣的密碼。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC
Microsoft SQL Driver] Logon Failed()
[原因]
該錯誤是由SQL Server產生的,當它不接受或則不能夠認識這個登錄帳號的時候,或者沒有使用管理員身份登錄,
也可能是在NT中沒有SQL影射帳號造成的。
[解決方法]
用系統管理員帳號(SA)登錄,一般密碼應該為空.注意,這時必須使用CoonectString而不能夠使用DSN文件。因為DSN中沒有保存用戶名和密碼。檢查NT是否給SQL映射了帳號。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason:
Not defined as a valid user of a trusted SQL Server connection.
[原因]
該錯誤是由SQL Server產生的,當它不接受或則不能夠認識這個登錄帳號的時候,或者沒有使用管理員身份登錄,
也可能是在NT中沒有SQL影射帳號造成的。
[解決方法]
在SQL Server的Enterprise Manager中,選擇Server/SQL Server/Configure[ASCII
133]/Security Options/Standard。如果是運行在IIS4中,取消選擇該項目的Password Synchronization選項。
[錯誤信息]
Microsoft OLE DB Provi
[錯誤信息]
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中對數據庫所在目錄
沒有正確的權限.
[解決方法]
1、檢查文件和目錄的權限. 保證Evryone能夠在該目錄中有新建和刪除臨時文件的權限。
2、檢查數據源文件(DSN)是否被別的程序標志在使用中,這些程序一般都是Visual InterDev,關閉任何一個正在InterDev中打開和數據庫連接的項目。
3、檢查ACCESS中的某個表是否在這時已連在一個網絡服務器上。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't use '(unknown)'; file
already in use.
[原因]
要連接ACCESS數據庫這時正在被使用使數據庫被鎖定,導致無法訪問。
[錯誤信息]
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中初始化的Application連接字符串 ,而這時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中加入了空格,例如
DSN = MyDSN; Database = Pubs;
試試改成下面這個樣子:
DSN=MyDSN;Database=Pubs;
如果是global.asa還沒有被運行,檢查該文件是否在運用程序的根目錄中,或者是虛擬目錄的根目錄中。
還有可能錯誤出現的原因是DSN名稱沒找著,這可以采用我提供的id=36767的辦法解決。最后是檢查是否安裝了最新的驅動程序,既是否是最新的MDAC版本。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not ??
[原因]
這個錯誤有可能是出現在你的計算機上軟件安裝(或則反安裝)的順序上。如果ODBC的版本不一致的話,就會發生該錯誤。
[解決方法]
辦法是安裝最新版本的MDAC。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Access 97 ODBC driver Driver]General error Unable to open
registry key 'DriverId'.
[原因]
這個錯誤發生在從注冊表中讀取數值的時候。 使用regedit32.exe檢查注冊表的權限。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
[原因]
原因之一:當一個數據庫中包含有分別在不用機器上的許可關系時,這也可能發生在同一臺機器上,當給一個關系設置了UNC路徑,而另一個關系卻是本地路徑。
原因之二:當用戶使用IIS匿名帳號登錄后,對本地這臺機器而言他是有權的,但是對于一個UNC路徑的機器,另外這臺機器是不會認為你當前匿名登錄的帳號在它那上面也是合法的。這樣它就不允許你訪問它上面的資源,導致錯誤。
[解決方法]
1、在IIS工具中,改變IIS匿名帳號成另外一個基于域的帳號。(也就是不使用匿名登錄)
2、或則在那臺你要訪問資源的機器上也創建一個和當前匿名帳號同樣的帳號,使用同樣的密碼。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC
Microsoft SQL Driver] Logon Failed()
[原因]
該錯誤是由SQL Server產生的,當它不接受或則不能夠認識這個登錄帳號的時候,或者沒有使用管理員身份登錄,
也可能是在NT中沒有SQL影射帳號造成的。
[解決方法]
用系統管理員帳號(SA)登錄,一般密碼應該為空.注意,這時必須使用CoonectString而不能夠使用DSN文件。因為DSN中沒有保存用戶名和密碼。檢查NT是否給SQL映射了帳號。
[錯誤信息]
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] Login failed- User: Reason:
Not defined as a valid user of a trusted SQL Server connection.
[原因]
該錯誤是由SQL Server產生的,當它不接受或則不能夠認識這個登錄帳號的時候,或者沒有使用管理員身份登錄,
也可能是在NT中沒有SQL影射帳號造成的。
[解決方法]
在SQL Server的Enterprise Manager中,選擇Server/SQL Server/Configure[ASCII
133]/Security Options/Standard。如果是運行在IIS4中,取消選擇該項目的Password Synchronization選項。
[錯誤信息]
Microsoft OLE DB Provi
相關ASP教程:
- 相關鏈接:
- 教程說明:
ASP教程-常見的80004005錯誤及其解決方法。