有幾個主要的錯誤原因:
這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為
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)
中的查詢時,在執行這個查詢是會出現該錯誤。
"iis_wpg"使用者組是用於訪問和管理iis資訊的內建帳戶,預設情況下對iis中虛擬目錄的檔案只有"讀取"
解決方法一:
在access資料庫檔案上單擊右鍵->屬性->安全
單擊新增,在文字框中輸入"iis_wpg",單擊確定,
給iis_wpg設定許可權,選中"允許寫入",確定ok!
方法二:
按上面步驟新增ervryone使用者,並且給everyone賦寫入許可權。
iis_wpg 是win2003的使用者,如果是win2000的話,查詢iwam_machin(machine是機器名稱)
操作必須使用乙個可更新的查詢
錯誤 操作必須使用乙個可更新的查詢 原因及解決辦法 翻譯得比較匆忙,呵呵。錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc microsoft access 97 driver operatio...
操作必須使用乙個可更新的查詢
今天用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...