最近很多人都碰到一個問題:在索引重建的時候出現(xiàn)了"操作必須使用一個可更新的查詢" 錯誤原因:未知錯誤ID:-2147467259。
摘要:
操作必須使用一個可更新的查詢。
Microsoft JET Database Engine
這個問題咋么解決呢? 今天ZBLOG模板工作小組就與大家分享下 我們的解決方法:
出錯提示:
操作必須使用一個可更新的查詢。
win2k win2003 系統(tǒng)
問題應(yīng)該是服務(wù)器數(shù)據(jù)庫目錄的寫入權(quán)限沒有設(shè)置好。
數(shù)據(jù)庫目錄 屬性 安全 EVERYONE ……給他寫入權(quán)限就OK了。
winXP系統(tǒng)
XP操作系統(tǒng)安裝好,文件夾選項(xiàng)里面默認(rèn)使用簡單共享(推薦),把這個選項(xiàng)去掉,
再在文件夾上右鍵點(diǎn)擊,就會出現(xiàn)安全這個選項(xiàng)卡,
原來默認(rèn)的沒有,然后在安全選項(xiàng)卡里面可以設(shè)置用戶的寫入權(quán)限了
右擊數(shù)據(jù)庫>安全>everyone>將需要的勾上或者給匿名用戶帳號(IUSR_MACHINE)對該數(shù)據(jù)庫文件的獨(dú)寫權(quán)限。
--------------------------------------------------------------
錯誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an
updateable query.
原因:
有幾個主要的錯誤原因:
這個錯誤發(fā)生在當(dāng)你的程序試圖執(zhí)行更新數(shù)據(jù)庫或其它類似操作時。這是因?yàn)?br />
1、最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該數(shù)據(jù)庫文件沒有寫權(quán)限。
要解決這個問題,在管理器中調(diào)整數(shù)據(jù)庫文件的屬性,讓匿名用戶有正確的權(quán)限。當(dāng)使用ACCESS數(shù)據(jù)庫時,不僅要給文件寫的權(quán)限,還要給該目錄寫 的權(quán)限,因?yàn)镴et需要在該目錄建立一個.ldb文件。
2、第二個原因是數(shù)據(jù)庫沒有使用正確的模式打開。應(yīng)該使用下面的方法打開。
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
注意默認(rèn)的Mode是設(shè)置0(adModeUnknown),它是允許更新的。
3、還有可能是在ODBC管理器中將該DSN的只讀選項(xiàng)選中。
4、你是在同時更新兩個表中的字段,也會出現(xiàn)這個錯誤信息,解決辦法是分開來更新這兩個表中各自字段。
5、當(dāng)你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)中的查詢時,在執(zhí)行這個查詢是會出現(xiàn)該錯誤。
新聞熱點(diǎn)
疑難解答
圖片精選