Ho realizzato un'area di amministrazione di un sito, che modifica un database direttamente online senza bisogno di pubblicarlo continuamente, e dal quale poi ogni pagina attinge delle informazioni.
Finchè lo provavo in locale, andava tutto bene. Quando l'ho pubblicato, si vedono tutte le pagine ma non scrive niente sul database, ne modifica e ne inserisce nuove righe.
L'errore che da è questo:
Microsoft JET Database Engine error '80040e09'
Cannot update. Database or object is read-only.
/admin/Add_news_process.asp, line 34
e il listato è:
<%
titolo = Request.Form("Titolo") 'nome della form
oggetto = Request.Form("Oggetto")
data_n = Request.Form("Data")
principale = Request.Form("check1")
normale = Request.Form("check2")
if principale = "ON" then
principale = 1
else
principale = 0
end if
if normale = "ON" then
normale = 1
else
normale = 0
end if
gg = Day(data_n)
mm = Month(data_n)
aaaa = Year(data_n)
data_comp = gg & "/" & mm & "/" & aaaa
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "news", conn, , adLockOptimistic
rs.AddNew 'inserisce nei campi del db
rs("Titolo") = Titolo
rs("Oggetto") = Oggetto
rs("Data") = data_comp
rs("NEWSprincipale") = principale
rs("NEWSnormale") = normale
rs.update
rs.close
set rs = nothing
response.redirect("list-news.asp")
%>
dove la linea 34 è
rs.AddNew
il che conferma nuovamente che è proprio in fase di scrittura che mi da problemi.la connessione al database è
<%
set conn=server.createobject("ADODB.connection")
set rs=server.createobject("ADODB.recordset")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data source=" & Server.MapPath("../../bl_db/db-elbeso.mdb")
%>
l'indirizzo del db è strano, ma è giusto perchè tutte le altre pagine si connettono al database e ne prendono i dati.
può essere che non ci sono i permessi di scrittura sulla cartella online del sito?
grazie

Rispondi quotando