程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> ASP中數據庫調用中常見錯誤的現象和解決

ASP中數據庫調用中常見錯誤的現象和解決

編輯:關於ASP編程

     下面是虛機維護中,經常碰到的一些ASP程序中的數據庫調用的錯誤,現收集整理如下:

    不能打開注冊表關鍵字(8007000e)

    Microsoft OLE DB Provider for ODBC Drivers 錯誤 '8007000e'

    [Microsoft][ODBC Microsoft Access Driver]常見錯誤 不能打開注冊表關鍵字 'Temporary

    (volatile) Jet DSN for process 0x11b4 Thread 0x1a4c DBC 0x9d34354 Jet'。

    1.打開數據庫時寫法不對,標准的ACCESS數據庫調用寫法:

    "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("db.MDB")

    2. 正在上傳數據庫文件。

    ――――――――――――――――――――――――――――――――――――

    一般性網絡錯誤。請檢查網絡文檔(80004005)

    Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]一般性網絡錯誤。請檢查網絡文檔。

    1.數據庫連接書寫不正確,可能數據庫名、服務器名錯誤。

    2.數據庫服務器重啟中。

    ――――――――――――――――――――――――――――――――――――

    不能使用 '';文件已在使用中(80004005)

    Microsoft JET Database Engine 錯誤 '80004005'

    不能使用 '';文件已在使用中。

    1.文件可能正被占用:上傳、壓縮、打包。

    2.可能程序代碼中形成了嵌套包含,重復包含的數據庫調用文件。

    ――――――――――――――――――――――――――――――――――――

    不能更新。數據庫或對象為只讀/操作必須使用一個可更新的查詢 (80004005)

    Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'

    [Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。

    Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005' [Microsoft][ODBC Microsoft Access Driver] 不能更新。數據庫或對象為只讀。

    1.數據庫文件權限不夠。

    2.文件占用空間達到磁盤限額上限。

    當提示"操作必須使用一個可更新的查詢"時有幾個主要的錯誤原因:這個錯誤發生在當你的程序試圖執行更新數據庫或其它類似操作時。這是因為ADO由於以下的幾個原因而不能夠寫數據庫造成的。

    1.最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該數據庫文件沒有寫權限。要解決這個問題,在管理器中調整數據庫文件的屬性,讓匿名用戶有正確的權限。當使用ACCESS數據庫時,不僅要給文件寫的權限,還要給該目錄寫的權限,因為Jet需要在該目錄建立一個.ldb文件。

    2.第二個原因是數據庫沒有使用正確的模式打開。應該使用下面的方法打開。

    SQL = "update Products Set UnitPrice = 2;"

    Set Conn = Server.createObject("ADODB.Connection")

    Conn.Mode = 3 '3 = adModeReadWrite

    Conn.Open "myDSN"

    Conn.Execute(SQL)

    Conn.Close

    注意默認的Mode是設置0(adModeUnknown),它是允許更新的。

    3.還有可能是在ODBC管理器中將該DSN的只讀選項選中。

    4.你是在同時更新兩個表中的字段,也會出現這個錯誤信息,解決辦法是分開來更新這兩個表中各自字段。

    5.當你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)中的查詢時,在執行這個查詢是會出現該錯誤。

    ――――――――――――――――――――――――――――――――――――

    未發現數據源名稱並且未指定默認驅動程序(80004005)

    Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'

    [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序

    1.使用了ODBC連接數據庫,服務器上沒有配置ODBC數據庫,改用OLEDB的標准調用方式:

    "Driver={SQL Server};Database=dbname;Server=srv;Uid=user;Pwd=pd"可以解決。 

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved