PRB: ASP 錯誤 80004005 「 資料來源名稱找不到 」

文章翻譯 文章翻譯
文章編號: 306345 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當您使用 ActiveX 資料物件 (ADO) 或 ODBC 來開啟資料庫連接的動態伺服器網頁 (ASP)] 網頁中時,您可能會收到下列錯誤訊息:
Microsoft OLE DB 提供者的 ODBC 驅動程式錯誤 80004005'
[Microsoft]ODBC 驅動程式管理員找不到的資料來源名稱與指定的預設驅動程式]。

發生的原因

當您使用資料來源名稱為基礎的連接字串 (系統 DSN 會使用一個連線字串) 或 DSN 的連接字串使用 ADO 和 ODBC 來在 ASP 網頁中開啟資料庫連接時,可能就會發生這個錯誤。這項錯誤的常見原因如下所示。

使用 ODBC 資料來源名稱

  • 用來處理要求的 ASP 頁面沒有足夠的權限讀取會儲存指定的 DSN 的登錄機碼 Microsoft Windows NT 4.0 或 Windows 2000 使用者帳戶設定資訊。
  • 在 ADO 連線字串中指定 [系統 ODBC 資料來源名稱不存在於 IIS 伺服器上。
  • 在 ASP 應用程式 Global.asa 中初始化該 ASP 應用程式工作階段 變數檔案 (或存取頁面前的 ASP 網頁中含有資料庫連接程式碼) 用來指定 ADO 連接字串。這個連接字串變數未初始化,當執行程式碼以開啟資料庫連接。若要確認這一點加入 Response.Write 陳述式之前開啟資料庫連線,以顯示連接字串,它會儲存在變數中的程式碼行。

使用 DSN 的連接字串

  • 用來處理要求的 ASP 頁面沒有足夠的權限可以讀取存放指定的 ODBC 驅動程式的登錄機碼 Windows NT 4.0 或 Windows 2000 使用者帳戶設定資訊。驅動程式 參數在 DSN 中-較連接字串指定 [ODBC 驅動程式用來建立資料庫連線。
  • 拼字錯誤或指定網際網路資訊伺服器 (IIS) 伺服器未安裝的驅動程式在連線字串中指定的 ODBC 驅動程式的名稱。
  • 在 ASP 應用程式 Global.asa 中初始化該 ASP 應用程式工作階段 變數檔案 (或存取頁面前的 ASP 網頁中含有資料庫連接程式碼) 用來指定 ADO 連接字串。這個連接字串變數未初始化,當執行程式碼以開啟資料庫連接。若要確認這一點加入 Response.Write 陳述式之前開啟資料庫連線,以顯示連接字串,它會儲存在變數中的程式碼行。

解決方案

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄

使用 ODBC 資料來源名稱

沒有足夠的權限可讀取資料來源名稱登錄機碼

授與 Windows NT 4.0 或 Windows 2000] 使用者帳戶指定的 ODBC 系統資料來源名稱登錄機碼的 「 讀取 」 權限,如下所示:
  1. 決定哪個帳戶用來處理要求的 ASP 網頁。
  2. 從 [開始] 功能表按一下 [執行]、 輸入 regedt32.exe,然後按一下 [[確定] 以啟動 [登錄編輯程式]。
  3. 在 [方式] 視窗瀏覽至 HKLM\SOFTWARE\ODBC\ODBC.INI 索引鍵。ODBC.INI 機碼包含在伺服器註冊每一個 ODBC 系統資料來源名稱) 子機碼。
  4. 按一下資料來源名稱登錄機碼為 ADO 連線字串中指定資料來源名稱。
  5. 從 [安全性] 功能表中,按一下 [權限]。
  6. 在步驟 1 中加入的使用者可以存取這個機碼,並選取這個使用者的 [讀取] 核取方塊,「 清單所識別的使用者帳戶。
  7. 按一下 [套用],然後再關閉 [登錄編輯程式]。

指定資料來源名稱不存在於 IIS 伺服器上

在 IIS 伺服器上建立指定的系統 ODBC 資料來源名稱。

Global.asa 程式碼來初始化 ADO 連接字串未執行

  1. 確認 IIS 應用程式] 資料夾已被設定為 IIS 虛擬目錄,以執行指令碼的使用權限。
  2. 請確認 Global.asa 檔案位於 [IIS 應用程式的根目錄。
  3. 如果應用程式] 資料夾已設定為一個 IIS 虛擬目錄],移除,並重新建立 IIS 應用程式。
  4. 決定如果這些文件的任何適用於您的特定狀況的 < 參考 > 一節中所列出的文件,請參閱。
  5. 如果 Global.asa 中的程式碼仍未出現之後執行先前的步驟執行,請洽詢 Microsoft 產品支援服務。

使用 DSN 的連接字串

權限不足,無法讀取指定的 ODBC 驅動程式登錄機碼

授與 Windows NT 4.0 或 Windows 2000] 使用者帳戶指定的 ODBC 驅動程式登錄機碼的 「 讀取 」 權限,如下所示:
  1. 決定哪個帳戶用來處理要求的 ASP 網頁。
  2. 從 [開始] 功能表按一下 [執行]、 輸入 regedt32.exe,然後按一下 [[確定] 以啟動 [登錄編輯程式]。
  3. 在 [方式] 視窗瀏覽至 HKLM\SOFTWARE\ODBC\ODBCINST.INI 索引鍵。ODBCINST.INI 機碼包含子機碼的每個伺服器安裝的 ODBC 驅動程式。
  4. 按一下 [ADO 連線字串中指定驅動程式的 [驅動程式登錄機碼]。
  5. 從 [安全性] 功能表中,按一下 [權限]。
  6. 在步驟 1 中加入的使用者可以存取這個機碼,並選取這個使用者的 [讀取] 核取方塊,「 清單所識別的使用者帳戶。
  7. 按一下 [套用],然後再關閉 [登錄編輯程式]。

驅動程式名稱的拼字錯誤,或未安裝 IIS 伺服器上

請確認 ODBC 驅動程式名稱拼寫正確中 「 ADO 連接字串。在另外檢查 IIS 伺服器上已安裝指定的驅動程式。若要檢視的系統安裝的 ODBC 驅動程式清單,查詢 [ODBC 資料來源管理員 (Odbcad32.exe) 在 [驅動程式] 索引標籤上。

Global.asa 程式碼來初始化 ADO 連接字串未執行

  1. 確認 IIS 應用程式] 資料夾已被設定為 IIS 虛擬目錄,以執行指令碼的使用權限。
  2. 請確認 Global.asa 檔案位於 [IIS 應用程式的根目錄。
  3. 如果應用程式] 資料夾已設定為一個 IIS 虛擬目錄],移除,並重新建立 IIS 應用程式。
  4. 決定如果這些文件的任何適用於您的特定狀況的 < 參考 > 一節中所列出的文件,請參閱。
  5. 如果 Global.asa 中的程式碼仍未出現之後執行先前的步驟執行,請洽詢 Microsoft 產品支援服務。

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

其認證用來處理 ASP 網頁的要求 Windows NT 4.0 或 Windows 2000 使用者帳戶是由 Web 伺服器用來驗證使用者要求的驗證機制來決定。範例如果您使用匿名驗證,設定 IIS 匿名帳戶的認證 ([IUSR_ <WebServerName > 預設帳戶) 用來處理使用者要求。當您使用 [基本驗證 Microsoft Internet Explorer 會提示使用者提供有效 Windows NT 4.0 或 Windows 2000 網路使用者識別碼及密碼然後使用其認證來處理該要求。如需有關支援的驗證機制,以及它們如何運作的詳細資訊,請參閱線上的 IIS 文件。

?考

如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中 「 文件:
188715全域 ASA 不引發 Visual InterDev 做了 IIS 4.0 應用程式時
288245PRB: global.asa 不會啟動從個人 Web 伺服器上 Windows 98
265275FP2000: global.asa 不會執行在 FrontPage 的網頁

屬性

文章編號: 306345 - 上次校閱: 2006年8月11日 - 版次: 5.4
這篇文章中的資訊適用於:
  • Microsoft Active Server Pages 2.0
  • Microsoft Active Server Pages 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.1 Service Pack 1
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.5 Service Pack 1
  • Microsoft Data Access Components 2.5 Service Pack 2
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.7
關鍵字:?
kbmt kbprb KB306345 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:306345
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com