疑難排解 Dreamweaver 中的權限問題、Microsoft 錯誤訊息和 MySQL 錯誤訊息。
Dreamweaver 和更高版本的用戶介面已經簡化。 因此,您在 Dreamweaver 和更高版本中可能會找不到本文所描述的一些選項。 如需詳細資訊,請參閱本文。
疑難排解權限問題
資料夾或檔案權限不足是最常見的問題之一。如果您的資料庫位於 Windows 2000 或 Windows XP 電腦上,並且您在嘗試於網頁瀏覽器或 Live 檢視中檢視動態頁面時收到錯誤訊息,則錯誤可能是由於權限問題所造成。
嘗試存取資料庫的 Windows 帳戶沒有足夠的權限。該帳戶可能是匿名 Windows 帳戶 (預設為 IUSR_computername) 或特定使用者帳戶 (如果頁面已受保護,供已驗證的存取權使用)。
您必須變更權限,給予 IUSR_computername 帳戶正確的權限,讓網頁伺服器能夠存取資料庫檔案。此外,包含資料庫檔案的檔案夾也必須設定某些權限,才能寫入該資料庫。
如果頁面要供匿名存取,請依照下方程序所述,給予 IUSR_computername 帳戶對檔案夾和資料庫檔案的完全控制權。
此外,如果資料庫路徑是使用 UNC (\\Server\Share) 來參照,請確保共用權限給予 IUSR_computername 帳戶完全存取權。即使共用位於本機網頁伺服器上,此步驟也適用。
如果您從其他位置複製資料庫,它可能不會從目標檔案夾繼承權限,您可能需要變更資料庫的權限。
檢查或變更資料庫檔案權限 (Windows XP)
只有在使用 NTFS 檔案系統時才能執行此步驟。 如果您使用 FAT 檔案系統,則對話方塊中不會有「安全性」標籤。
對話方塊將會變更,以顯示更多選項。
檢查或變更資料庫檔案權限 (Windows 2000)
只有在使用 NTFS 檔案系統時才能執行此步驟。 如果您使用 FAT 檔案系統,對話框將不會有「安全性」標籤。
為了增強安全性, 可以設定權限來停用包含資料庫的 網頁檔案夾的讀取權限。將不允許瀏覽該檔案夾,但網頁仍能存取資料庫。
如需 IUSR 帳戶和網頁伺服器權限的詳細資訊, 請參閱 Adobe 支援中心的下列技術說明:
了解匿名驗證和 IUSR 帳戶 位於 www.adobe.com/go/authentication
設定 IIS 網頁伺服器使用權限,網址為:www.adobe.com/go/server_permissions_tw
疑難排解 Microsoft 錯誤訊息
如果您在 Internet Information Server (IIS) 中使用 Microsoft 資料庫系統 (如 Access 或 SQL Server)時,向伺服器要求動態頁面, 可能會出現這些 Microsoft 錯誤訊息。
Adobe 不為 Microsoft Windows 和 IIS 等第三方軟體 提供技術支援。如果此資訊無法解決 您的問題,請聯絡 Microsoft 技術支援或造訪 Microsoft 支援網站 http://support.microsoft.com/。
如需有關 80004005 錯誤的詳細資訊,請參閱「Active Server Pages 及 Microsoft Data Access Components 中 80004005 錯誤的疑難排解指南 (Q306518)」,這篇文章位於 Microsoft 網站,網址為:http://support.microsoft.com/default.aspx?scid=kb;zh-tw;Q306518。
[[Reference]80004005—找不到資料來源名稱且未指定預設驅動程式]
當您嘗試在網頁瀏覽器或即時視圖中檢視動態頁面時,會發生此錯誤。錯誤 訊息可能會因您的資料庫和網頁伺服器而有所不同。錯誤訊息的其他變化包括:
80004005 - 驅動程式的 SQLSetConnectAttr 失敗
80004005 - 一般錯誤:無法開啟登錄金鑰「DriverId」
以下是可能的原因和解決方案:
頁面找不到 DSN。 請確定是否已於網路瀏覽器與本機電腦上建立 DSN。
DSN 可能已設定為使用者 DSN,而非系統 DSN。 刪除使用者 DSN,並建立系統 DSN 將原有的 DSN 取代。
若您並未將使用者 DSN 刪除,則重複的 DSN 名稱將導致新的 ODBC 錯誤。
如果您使用 Microsoft Access,資料庫檔案 (.mdb) 可能會被鎖住。 這可能是因為有不同名稱的 DSN 正在存取資料庫。 請在「Windows 檔案總管」中,於包含資料庫檔案 (.mdb) 的資料夾內尋找鎖定的檔案 (.ldb),並將這個 .ldb 檔刪除。 如果有其他 DSN 指向相同的資料庫檔案,請刪除這些 DSN 以避免在未來發生錯誤。 完成任何變更之後,請記得重新啟動電腦。
[[Reference]80004005—無法使用 '(unknown)';檔案已在使用中]
當您使用 Microsoft Access 資料庫並嘗試 在網頁瀏覽器或「即時」檢視中檢視動態頁面時,會發生此 錯誤。此錯誤訊息的另一個 變化版本為「80004005—Microsoft Jet 資料庫 引擎無法開啟檔案 (unknown)。」
可能的原因 是權限問題。以下是一些導致錯誤的特定原因與解決方式:
Internet Information Server 使用的帳戶(通常為 IUSR)可能沒有檔案型資料庫或包含該檔案的資料夾的正確 Windows 權限。在使用者管理員中檢查 IIS 帳戶 (IUSR) 的權限。
您 可能沒有建立或刪除臨時檔案的權限。 請檢查處理檔案與資料夾的權限。 確定 您有建立或刪除任何臨時檔案的權限。臨時檔案通常建立在與資料庫相同的資料夾中,但該檔案也可能建立在其他資料夾(如 /Winnt)中。
在 Windows 2000 中,可能需要變更 Access 資料庫 DSN 的逾時值。若要變更逾時值,請選取「開始」>「設定」>「控制面板」>「系統管理工具」>「資料來源 (ODBC)」。按一下「系統」索引標籤,選取正確的 DSN,然後按一下「設定」按鈕。按一下「選項」按鈕,並將「頁面逾時」值變更為 5000。
如果您仍有問題, 請參閱下列 Microsoft 知識庫項目:
PRB: 80004005「無法使用 '(unknown)';檔案已在 使用中」位於 http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174943。
PRB:Microsoft Access 資料庫連線在 Active Server Pages 於 http://support.microsoft.com/default.aspx?scid=kb;en-us;Q253604 失敗。
PRB:錯誤「無法使用 Access 開啟未知的檔案」,網址為:http://support.microsoft.com/default.aspx?scid=kb;zh-tw;Q166029。
[[參考]80004005—登入失敗()]
當您使用 Microsoft SQL Server 並嘗試在網頁瀏覽器或 Live 檢視中檢視 動態頁面時,會發生此錯誤。
如果 SQL Server 不接受或無法識別 要提交的登入帳戶或密碼(如果您使用標準 安全性),或者如果 Windows 帳戶未對應到 SQL 帳戶 (如果您使用整合安全性),SQL Server 會產生此錯誤。
可能的解決方案有:
如果您使用標準 安全性,帳戶名稱和密碼可能不正確。請嘗試 系統管理員帳戶和密碼(UID= "sa" 且無密碼), 您必須在連接字串行中定義。(DSN 不儲存使用者名稱和密碼。)
如果您使用整合安全性,請檢查呼叫該頁面的 Windows 帳戶,並尋找其對應的 SQL 帳戶(如果有的話)。
SQL Server 不允許在 SQL 帳戶名稱中使用 底線。如果有人手動將 Windows IUSR_machinename 帳戶對應到相同名稱的 SQL 帳戶,該對應將會 失敗。將任何使用底線的帳戶對應到 SQL 上不使用底線的帳戶名稱。
[[參考]80004005—操作必須使用可更新的問題]
當事件正在更新 記錄集或在記錄集中插入資料時,會發生此錯誤。
以下是可能的 原因和解決方案:
包含資料庫的檔案夾 設定的權限過於嚴格。IUSR 權限必須 設定為讀取/寫入。
資料庫檔案本身的權限沒有 完整的讀取/寫入權限。
資料庫可能位於 Inetpub/wwwroot 目錄之外。雖然您可以檢視和搜尋資料,但您可能無法 更新它,除非資料庫位於 wwwroot 目錄中。
資料集是以一個無法更新的查詢為基礎。 聯結是資料庫內不可更新查詢的良好範例。重新調整您的查詢,使其可更新。
如需有關 此錯誤的更多資訊,請參閱 Microsoft 知識庫 http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174640 中的「PRB:ASP『錯誤問題不可更新』 當您更新資料表記錄時」。
[[參考]80040e07—條件運算式中的資料類型不符]
當伺服器嘗試處理包含插入記錄或更新記錄伺服器行為的頁面,且伺服器行為嘗試將 Microsoft Access 資料庫中日期/時間欄的值設定為空字串 ("") 時,會發生此錯誤。
Microsoft Access 具有嚴格的資料類型;它對特定欄位值施加嚴格的規則集。SQL 查詢中的空字串值無法儲存在 Access 日期/時間欄位中。目前,唯一已知的解決方法是避免在 Access 中插入或更新日期/時間欄位時使用空字串 ("") 或任何其他不符合該資料類型所指定值範圍的值。
[[參考]80040e10—參數過少]
當 SQL 問題中指定的欄位不存在於資料庫表格中時,就會發生此錯誤。請對照 SQL 查詢檢查資料庫表格中的欄位名稱。此錯誤的原因通常是拼字錯誤。
I understand. I'm ready to translate Adobe software tutorials and HelpX documents from English to Chinese Traditional according to the detailed guidelines you've provided.
當您在網頁瀏覽器中預覽包含 Insert Record 伺服器行為的頁面,並嘗試使用該頁面在 Microsoft Access 資料庫中插入記錄時,就會發生此錯誤。
您可能正嘗試將記錄插入含有問號 (?) 的資料庫欄位中在其 欄位名稱中。問號是某些資料庫 引擎的特殊字元,包括 Microsoft Access,不應用於資料庫 表格名稱或欄位名稱。
開啟您的資料庫系統並 刪除問號 (?) 從欄位名稱中移除,並更新頁面上參考此欄位的 伺服器行為。
[[參考資料]80040e14—INSERT INTO 陳述式中的語法錯誤]
當伺服器嘗試 處理包含插入記錄伺服器行為的頁面時,會發生此錯誤。
此 錯誤通常是由資料庫中欄位、物件或變數名稱的下列一個或多個問題 所導致:
名稱中使用保留字。 大多數資料庫都有保留字。 例如 date 就是保留字,不可以用來作為資料庫中的欄名。
名稱中使用特殊字元。 特殊字元包括:
. / * : ! # & - ?
在名稱中使用空格。
如果為資料庫中的某個物件定義了輸入遮罩,而插入的資料與遮罩不符,則也可能發生這個錯誤。
如要修正這個錯誤,請避免在指定資料庫的欄名時使用 date、name、select、where、level 等保留字。 此外,請清除名稱中的空格與特殊字元。
有關常見資料庫系統的保留字清單,請參閱下列網頁:
Microsoft Access,網址為:http://support.microsoft.com/default.aspx?scid=kb;zh-tw;Q209187
MySQL,網址為:http://dev.mysql.com/doc/mysql/en/reserved-words.html
[[參考資料]80040e21—插入或更新時發生 ODBC 錯誤]
當伺服器嘗試 處理包含更新記錄或插入記錄伺服器 行為的頁面時,會發生此錯誤。資料庫無法處理伺服器行為 嘗試執行的更新或插入操作。
以下是可能的 原因和解決方案:
伺服器行為嘗試 更新資料庫表格的自動編號欄位或將記錄插入 自動編號欄位。由於自動編號欄位會 自動由資料庫系統填入,任何嘗試從外部填入 值的動作都會失敗。
伺服器行為正在更新或插入的 資料對於資料庫欄位而言是錯誤的類型, 例如將日期插入布林值 (是/否) 欄位、將字串插入數值欄位,或將 格式不正確的字串插入日期/時間欄位。
[[參考資料]800a0bcd—BOF 或 EOF 為真]
當您嘗試在網頁瀏覽器或即時檢視中檢視 動態頁面時,會發生此錯誤。
當頁面 嘗試顯示空記錄集的資料時會發生問題。若要解決問題,請將「顯示區域」伺服器行為套用至要在頁面上顯示的動態內容,如下所示:
反白選取 頁面上的動態內容。
在「伺服器行為」面板中,按一下加號 (+) 按鈕 並選取「展開區域 > 記錄集非空時展開區域」。
選取提供動態內容的記錄集並按一下 「確定」。
針對頁面上的每個動態內容元素 重複步驟 1 到 3。
疑難排解 MySQL 錯誤訊息
測試 PHP 資料庫連線至 MySQL 4.1 時,您可能遇到的一個常見錯誤訊息是「用戶端不支援要求的驗證通訊協定」。請考慮升級 MySQL 用戶端。」
您可能必須回復至較早版本的 MySQL,或安裝 PHP 5 並複製一些動態連結程式庫 (DLL)。有關詳細 指示,請參閱 設定 PHP 開發環境。