1. 程式人生 > >IIS的access資料庫ASP“不能更新。資料庫或物件為只讀”解決辦法!

IIS的access資料庫ASP“不能更新。資料庫或物件為只讀”解決辦法!

最近幫別人處理下資料,發現新增資料時,就提示"ASP 不能更新。資料庫或物件為只讀。",從網上找了下,終於解決我的問題。
1、伺服器的資料目錄mdb檔案所在的目錄,是隻讀的
2、資料庫在本地的許可權,去只讀許可權,再上傳
3、有可能你是從只讀目錄移動到可讀目錄的,所以一定不能這麼用,先下到本地,再上傳,可解決此類問題。

"不能更新,資料庫或物件為只讀"的解決方案
初接觸dreamweaver,在做一簡單頁面實現向access資料庫寫資料時,總是遇到這樣一錯誤:
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005',[Microsoft][ODBC Microsoft Access Driver] 不能更新。
資料庫或物件為只讀。除錯了多次都不起作用。
      沒辦法,只有google一下了,呵呵。看來遇到我這種情況的還不少,一查就有很多相關資訊,資源共享的好處啊,^_^……查到以下方法,供朋友們參考交流。

       解決的方法:

造成這個原因的問題就是站點目錄的訪問許可權問題,因為在使用Access資料庫的時候,要在同目錄生成一個.ldb檔案,如果此目錄
沒有寫許可權或者Access資料庫本身沒有寫的許可權,那麼就會***這個錯誤。由於通過瀏覽器訪問網站大都使用Internet匿名訪問,
我們只需要在資料庫的目錄許可權裡新增上“IUSR_計算機名”使用者就可以了,分給它“寫入”許可權。我發現一些文章說
讓加入EveryOne使用者,並給“寫入”許可權,這個太危險了。加入EveryOne的方法:

很簡單..到你資料庫的資料夾上右擊..裡面有個共享和安全,你點安全..到組或使用者名稱稱裡面添加個使用者everyone 然後把他的許可權設定成“完全控制”就可以了..如果你右擊沒用安全選項..那麼你在工具->資料夾選項->檢視 把使用簡單的檔案共享去掉就可以看到安全選項了。

      原則上是此目錄加的可以寫入使用者就是在IIS中配置的時候加的Internet匿名訪問使用者,一般預設為“IUSR_計算機名”,不過如果是虛擬主機就要自己看看了。具體的操作方式就是:

滑鼠右鍵點選資料庫所在目錄(或者它上級目錄,但是注意要能夠繼承許可權)-〉選擇“共享和安全”-〉選擇“安全”選項卡-〉
點選“新增”按鈕-〉點選“高階...”按鈕-〉點選“立即查詢(N)”按鈕-〉找到字首為“IUSR_”的使用者名稱
(格式為IUSR_計算機名)-〉選中此使用者,點選確定-〉這樣這個使用者就被加進來了-〉在“Internet來賓帳戶”的許可權框中,
除了預設的還要選中“寫入許可權”-〉“應用”或者“確定”即可。