主營業(yè)務:網站制作 網站優(yōu)化 小程序制作 石家莊網站制作網站建設有限公司歡迎您!
石家莊閃云網絡科技有限公司
客服熱線15383239821
如何讓自己的網站更有質量?

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

發(fā)布時間:2009/12/23 15:26:37

將SQLSERVER轉成ACCESS時,提交更新數(shù)據(jù)的操作,經常出現(xiàn)"操作必須使用一個可更新的查詢"的錯誤.


原因:
有幾個主要的錯誤原因:
這個錯誤發(fā)生在當你的程序試圖執(zhí)行更新數(shù)據(jù)庫或其它類似操作時。這是因為
ADO由于以下的幾個原因而不能夠寫數(shù)據(jù)庫造成的。
1、最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該數(shù)據(jù)庫文件沒有寫權限。
 要解決這個問題,在管理器中調整數(shù)據(jù)庫文件的屬性,讓匿名用戶有正確的權限。當使用ACCESS數(shù)據(jù)庫時,不僅要給文件寫的權限,還要給該目錄寫 的權限,因為Jet需要在該目錄建立一個.ldb文件。
// 2003 系統(tǒng)要加 Authenticated Users 的權限
2、第二個原因是數(shù)據(jù)庫沒有使用正確的模式打開。應該使用下面的方法打開。
  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、你是在同時更新兩個表中的字段,也會出現(xiàn)這個錯誤信息,解決辦法是分開來更新這兩個表中各自字段。
5、當你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)中的查詢時,在執(zhí)行這個查詢是會出現(xiàn)該錯誤

// 轉載...

出錯舉例:
Microsoft JET Database Engine (0x80004005)
操作必須使用一個可更新的查詢。
/LeadBBS/inc/Board_Popfun.asp, 第 569 行

需要權限:服務器管理員,否則聯(lián)系服務器管理員進行
示例操作系統(tǒng):Windows 2000 Server
1.找到你存放網站的文件夾,比如你的網站存放在D:\WEB\News.com
右鍵點擊文件夾,選擇屬性
 

http://www.51one.net/articlepic/1018/1.gif


點擊小圖查看大圖
2.出來新窗口,選擇安全,點擊按鈕添加(D)
 

http://www.51one.net/articlepic/1018/2.gif


點擊小圖查看大圖
3.在出來的窗口中,找到IUSER_開頭的名稱,并雙擊,點擊確定.
 

http://www.51one.net/articlepic/1018/3.gif


點擊小圖查看大圖
4.確定后的結果是這個窗口,在安全的名稱列表中多了剛才選擇的用戶
點擊下面的按鈕 高級(V)...
 

http://www.51one.net/articlepic/1018/4.gif


點擊小圖查看大圖
5.在彈出的新小窗口中,繼續(xù)點擊 查看/編輯(V) 按鈕
 

http://www.51one.net/articlepic/1018/5.gif


點擊小圖查看大圖
6.出來新窗口..
 

http://www.51one.net/articlepic/1018/6.gif


點擊小圖查看大圖
7.重新選擇權限分配.
 

http://www.51one.net/articlepic/1018/7.gif


點擊小圖查看大圖
8.點擊應用完成設置
 

相關新聞推薦

在線客服 : 服務熱線:15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號:冀ICP備2022000585號-4