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

來源:互聯網
上載者:User
錯誤“操作必須使用一個可更新的查詢”原因及解決辦法
翻譯得比較匆忙,呵呵。
錯誤資訊:
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)
中的查詢時,在執行這個查詢是會出現該錯誤。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。