操作必須使用乙個可更新的查詢

2021-04-13 11:18:36 字數 1113 閱讀 6751

錯誤「操作必須使用乙個可更新的查詢」原因及解決辦法

翻譯得比較匆忙,呵呵。

錯誤資訊:

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)

中的查詢時,在執行這個查詢是會出現該錯誤。

操作必須使用乙個可更新的查詢

有幾個主要的錯誤原因 這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為 ado由於以下的幾個原因而不能夠寫資料庫造成的。1。最普遍的原因是帳號 iusr machine 對該資料庫檔案沒有寫許可權。要解決這個問題,在管理器中調整資料庫檔案的屬性,讓有正確的許可權。當使用acces...

操作必須使用乙個可更新的查詢

今天用asp.net 2.0寫access資料庫的時候出現了乙個問題 操作必須使用乙個可更新的查詢。查詢了一下原因,原來使用者在請求web頁面時win2003伺服器使用系統內建的的iis wpg組的帳戶來訪問access資料庫,若iis wpg組的帳戶沒有access資料庫檔案的 修改 許可權,就會...

操作必須使用乙個可更新的查詢

錯誤 操作必須使用乙個可更新的查詢 原因及解決辦法 翻譯得比較匆忙,呵呵。錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc microsoft access 97 driver operatio...