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. 原因: 這個錯誤發生在當IIS使用匿名帳號(通常是IUSR)時,該帳號在NT中對資料庫所在的目錄 沒有正確的許可權.(這就是為什麼在Win95和PWS下沒問題,因為win95根本就沒有目錄許可權這一說) 檢查檔案和目錄的許可權. 確定你能夠在該目錄中有能夠新建和刪除臨時檔案的許可權。 這些臨時檔案其實是資料庫建立在同一個目錄下的檔案, 但是要注意的是,有可能這些檔案 也可能建立在別的目錄,例如 /Winnt. 使用NT的檔案監視程式監視檔案失敗時到底是訪問了什麼目錄。 這個NT的檔案監視程式可以在這個地方下載 .如果你對資料庫使用了一個網路地址,例如對映地址,就要檢查一下共享檔案和目錄的許可權, 還要檢查一下資料來源檔案(DSN)是否被別的程式標誌成為正在使用中, 這些別的程式一般是Visual InterDev,關閉任何一個InterDev中的正開啟和資料庫連線的專案。 這個錯誤還可能發生在這種情況:如果在DSN中使用了一個UNC路徑(就是通用命名協議),請改用 本地路徑進行測試,因為如果對本地資料庫使用UNC也可能出錯。 還可能發生在這種情況,如果伺服器要訪問Access中的一個表,而這個表卻聯接在一個網路伺服器上。
2.錯誤資訊: Microsoft OLE DB Provider for ODBC Drivers error "80004005" [Microsoft][ODBC Microsoft Access 97 Driver] Couldn"t use "(unknown)"; file already in use. 原因: 多人使用時資料庫被鎖定。
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中加入下面的程式碼) <%= ""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的辦法解決。 最後是檢查是否安裝了最新的驅動程式,既是否是最新
查一下錯誤提示:
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. 原因: 這個錯誤發生在當IIS使用匿名帳號(通常是IUSR)時,該帳號在NT中對資料庫所在的目錄 沒有正確的許可權.(這就是為什麼在Win95和PWS下沒問題,因為win95根本就沒有目錄許可權這一說) 檢查檔案和目錄的許可權. 確定你能夠在該目錄中有能夠新建和刪除臨時檔案的許可權。 這些臨時檔案其實是資料庫建立在同一個目錄下的檔案, 但是要注意的是,有可能這些檔案 也可能建立在別的目錄,例如 /Winnt. 使用NT的檔案監視程式監視檔案失敗時到底是訪問了什麼目錄。 這個NT的檔案監視程式可以在這個地方下載 .如果你對資料庫使用了一個網路地址,例如對映地址,就要檢查一下共享檔案和目錄的許可權, 還要檢查一下資料來源檔案(DSN)是否被別的程式標誌成為正在使用中, 這些別的程式一般是Visual InterDev,關閉任何一個InterDev中的正開啟和資料庫連線的專案。 這個錯誤還可能發生在這種情況:如果在DSN中使用了一個UNC路徑(就是通用命名協議),請改用 本地路徑進行測試,因為如果對本地資料庫使用UNC也可能出錯。 還可能發生在這種情況,如果伺服器要訪問Access中的一個表,而這個表卻聯接在一個網路伺服器上。
2.錯誤資訊: Microsoft OLE DB Provider for ODBC Drivers error "80004005" [Microsoft][ODBC Microsoft Access 97 Driver] Couldn"t use "(unknown)"; file already in use. 原因: 多人使用時資料庫被鎖定。
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中加入下面的程式碼) <%= ""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的辦法解決。 最後是檢查是否安裝了最新的驅動程式,既是否是最新