錯誤資訊(錯誤資訊我不用翻譯成中文了吧,呵呵,大家諒解)
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.
錯誤資訊:
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中加入了多餘的空格,例如
DSN = MyDSN; Database = Pubs;
試試改成下面這個樣子:
DSN=MyDSN;Database=Pubs;
錯誤資訊
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檢查你的註冊表的許可權。
你也可以使用NT中的註冊表監視程式(NTRegMon)來看讀取失敗資訊。 該程式到這找:http://www.sysinternals.com
錯誤資訊:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][dbnmpntw]ConnectionOpen (CreateFile()).
原因:
兩個原因:當一個資料庫中包含有分別在不用機器上的許可關係時,
這也可能發生在同一台機器上,當你給一個關係設定了UNC路徑,而另一個關係卻是本地路徑。
錯誤原因是:
當使用者使用IIS匿名帳號登入後,對本地這台機器而言他是有權的,但是對於一個UNC路徑的機器,
另外這台機器是不會認為你當前匿名登入的帳號在它那上面也是合法的。
這樣它就不允許你訪問它上面的資源,導致錯誤。
錯誤資訊
Microsoft OLE DB Provider for ODBC Drivers error '80004005' Microsoft][ODBC
Microsoft SQL Driver] Logon Failed()
原因:
該錯誤是由SQL Server產生的,當它不接受或則不能夠認識這個登入帳號的時候,或者沒有使用管理員身份登入,
也可能是在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的Enterprise Manager中,選擇Server/SQL Server/Configure[ASCII
133]/Security Options/Standard.
如果是運行在IIS4中,取消選擇該項目的Password Synchronization選項。
錯誤資訊
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Couldn't lock file.
原因:
也許是沒有正確的許可權產生Access資料庫的鎖定檔案(.ldb)
預設時,該檔案和你的資料庫是同一個目錄的。
給匿名帳號全權訪問資料庫共用目錄的許可權。
有時是因為檔案是因為共用時有意使用了唯讀許可權限制。試試使用下面的代碼。
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = adModeShareDenyWrite '8
錯誤資訊
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] '(unknown)' isn't a valid
path. Make sure that the path name is spelled correctly and that you are
connected to the server on which the file resides.
原因:
路徑非法。最可能發生在當Global.asa和CoonecntString被使用到另外一台機器上的時候。
錯誤資訊
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][SQL Server] The query and the views in
it exceed the limit of 16 tables.
原因:
查詢太複雜了,對查詢有限制。
錯誤資訊:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver][DBMSSOCN] General network error. Check
your network document
原因:
當裝有SQL Server的機器改名的時候。但是DSN還使用了原來的機器名。