最近幫別人處理下資料,發現新增資料時,就提示"ASP 不能更新。資料庫或物件為唯讀。",從網路上找了,也沒有解決我的問題.
1.伺服器的資料目錄mdb檔案所在的目錄,是唯讀的
2、資料庫在本地的權限,去唯讀權限,再上傳
3.有可能你是從唯讀目錄移動到可讀目錄的,所以一定不能這麼用,先下到本地,再上傳,可解決此類問題。
"不能更新,資料庫或物件為唯讀"的解決方案
初接觸dreamweaver,在做簡單頁面實作向access資料庫寫資料時,總是遇到這樣一錯誤:
Microsoft OLE DB Provider for ODBC Drivers 錯誤'80004005',[Microsoft][ODBC Microsoft Access Driver] 不能更新。
資料庫或物件為唯讀。調試了多次都不起作用。
沒辦法,只有百度一下了,呵呵。看來遇到我這種情況的還不少,一查就有很多相關信息,資源共享的好處啊,^_^
解決的方法:
造成這個原因的問題就是網站目錄的存取權限問題,因為在使用Access資料庫的時候,要在同目錄產生一個.ldb文件,如果此目錄
沒有寫權限或是Access資料庫本身沒有寫的權限,那麼就會***這個錯誤。由於透過瀏覽器訪問網站大都使用Internet匿名訪問,
我們只需要在資料庫的目錄權限裡新增上「IUSR_電腦名稱」使用者就可以了,分給它「寫入」權限。我發現有些文章說
讓加入EveryOne用戶,並給「寫入」權限,這個太危險了。原則上是此目錄加的可以寫入使用者就是在IIS中設定的時候加的
Internet匿名訪問用戶,一般預設為“IUSR_電腦名”,不過如果是虛擬主機就要自己看看了。
具體的操作方式就是:
滑鼠右鍵點選資料庫所在目錄(或它上級目錄,但是注意要能夠繼承權限)-〉選擇「共用與安全性」-〉選擇「安全性」標籤-〉
點選「新增」按鈕-〉點選「進階...」按鈕-〉點選「立即尋找(N)」按鈕-〉找到前綴為「IUSR_」的使用者名
(格式為IUSR_電腦名稱)-〉選取此用戶,點選確定-〉這樣這個用戶就被加進來了-〉在「Internet來賓帳戶」的權限框中,
除了預設的還要選取「寫入權限」-〉「套用」或「確定」即可。