錯誤「操作必須使用乙個可更新的查詢」原因及解決辦法
翻譯得比較匆忙,呵呵。
錯誤資訊:
microsoft ole db provider for odbc drivers error ''80004005''
[microsoft][odbc microsoft access 97 driver] operation must use an
updateable query.
或者是:
microsoft jet database engine (0x80004005)
操作必須使用乙個可更新的查詢。
原因:
有幾個主要的錯誤原因:
這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為
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)
中的查詢時,在執行這個查詢是會出現該錯誤。
操作必須使用乙個可更新的查詢
錯誤 操作必須使用乙個可更新的查詢 原因及解決辦法 翻譯得比較匆忙,呵呵。錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc microsoft access 97 driver operatio...
操作必須使用乙個可更新的查詢
有幾個主要的錯誤原因 這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為 ado由於以下的幾個原因而不能夠寫資料庫造成的。1。最普遍的原因是帳號 iusr machine 對該資料庫檔案沒有寫許可權。要解決這個問題,在管理器中調整資料庫檔案的屬性,讓有正確的許可權。當使用acces...
操作必須使用乙個可更新的查詢
今天用asp.net 2.0寫access資料庫的時候出現了乙個問題 操作必須使用乙個可更新的查詢。查詢了一下原因,原來使用者在請求web頁面時win2003伺服器使用系統內建的的iis wpg組的帳戶來訪問access資料庫,若iis wpg組的帳戶沒有access資料庫檔案的 修改 許可權,就會...