資料庫或對象為只讀
A. 不能更新。資料庫或對象為只讀。
可能是你的Access所在的盤為ntfs格式
而這個格式中要求相應的帳戶具有修改的許可權 這樣access才能夠攔游進行更新
方法:
如果配置站點的時候,分區是NTFS格式的情況下,會遇到80004005的資料庫或對象為只讀錯誤,如:
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來賓帳戶」的許可權框中,除了默認的還要選中「寫入許可權」-〉「應用」或者「確定」即可。
提示:如果是WinXP系統下找不到「共享和安全」選項,需要先進行一下設置:「工具」-〉「文件夾選項」-〉「查看」-〉「默認使用簡單共享(推薦)」,把這個選項去掉,再在文件夾上右鍵點擊,就會出現安全這個選項。
上面是我貼我過來的,希望能幫助你。
msql="select * from Ay_Content where bId=" & request("id")
mvarbClick=trim(rs("bClick")&"")
rs("bClick")=rs("bClick")+1
if rs.state<>0 then rs.close
set rs=nothing// 你可以把這一句去掉下看看。再不行應該是資料庫的問題了,你的代碼沒什麼問題。
上面的幾句檢查下。
B. excel中如何用sql語句跨工作簿查詢提示無法更新,資料庫或對象屬性為只讀
兩種連接字元串中的數據文件改成c: est.xls就可以使資料庫或對象屬性為只讀了。
例如:把DataTable的內容導入到Excel,如果指定的Excel文件不存在,則自動創建。
對應的連接字元串:
OleDB連接字元串:"Provider=Microsoft.Jet.OleDb.4.0;Data
Source=c: est.xsl;Extended ProPerties=Excel 8.0"
ODBC連接字元串:"DRIVER={{Microsoft Excel Driver
當Open()時,就報這個錯誤:「不能更新。資料庫或對象為只讀」
注意
C. [Microsoft][ODBC Microsoft Access Driver] 不能更新。資料庫或對象為只讀 怎麼解決
提示你ACCESS數據談廳猛庫是只讀的,需要修改資料庫操作許可權,才能修改數據。選擇資料庫,點伏悶右鍵選「屬性」,把「含橋只讀」框勾去掉。
D. Access資料庫提示 :不能更新。資料庫或對象為只讀
最好先檢查一下資料庫所在目錄的閉尺許可權。右鍵文件夾轎辯高,屬性->安全->添加 ,User用戶,賦予User用戶完灶運全控制的許可權,然後再試一下。