update BD

cesarcedillo
09 de Noviembre del 2005
Hola, tengo un problema a la hora de actualizar la BD.

Tengo una pagina ASP q conecta con una BD Acces, las consultas me las hace bien pero a la hora de actualizar, no me funciona. he probado las dos maneras, hacerlo mediante consultas SQL como en este codigo:

**************************************************************
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("prueba.mdb")

SQL="select * from Texto;"

'Ejecutamos la consulta y traemos los datos al recordset
rs.Open SQL, oConn

if request.Form <> "" then
SQL="UPDATE Texto SET texto='1'"
'Ejecutamos la sentencia
oConn.Execute(SQL)
else
'Sentencia SQL
SQL="select * from Texto;"

'Ejecutamos la consulta y traemos los datos al recordset
rs.Open SQL, oConn
end if
*******************************************************************
El ERROR que me sale es el siguiente:
Tipo de error:
Microsoft JET Database Engine (0x80004005)
La operacin debe usar una consulta actualizable.
/GER/prueba.asp, lnea 28

(siendo la linea 28 la linea en la que se ejecuta el UPDATE : oConn.Execute(SQL) )

La otra opcion que he probado es la siguiente:

****************************************************************
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
rs.CursorType=3
rs.LockType=3
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("prueba.mdb")

SQL="select * from Texto;"
rs.Open SQL, oConn

if request.Form <> "" then
rs.Fields("texto")="prueba"
rs.update
end if

*******************************************************************
Tipo de error:
Microsoft JET Database Engine (0x80040E09)
No se puede actualizar. Base de datos u objeto de slo lectura.
/GER/prueba.asp, lnea 33

Siendo la linea 33 la asignacion( rs.Fields("texto")="prueba") y la BD no esta de solo lectura, el directorio virtual de la pagina (esta en IIS) tiene todos los permisos.

Si podrian echarme una mano, se lo agradeceria,.

Un saludo, CESAR

Luigi
09 de Noviembre del 2005
Con respecto al primer mtodo de actualizacin (a mi me suceda lo mismo). Lo que sucede es que, aunque hayas establecido los permisos de lectura y escritura correctamente a traves del servicio de IIS (en herramientas administrativas), es necesario tambien habilitar la ejecucin de secuencia de comandos y ejecutables para la aplicacin web (tambien puedes hacerlo desde el servicio IIS, pero a mi no me funcion). Para hacerlo desbes dirigirte (si el servidor que estas utilizando esta en tu equipo) a la carpeta donde est ubicado tu sitio web a traves del explorador de windows, seleccionar propiedades, la pestaa compartir en Web (o similar, no recuerdo el nombre) y en ella compartir la carpeta, te pedir un alias, se lo indicas, modificas la propiedades y seleccionas "ejecutar secuencias de comandos y ejecutables" (o similar, no recuerdo el nombre). Ahora ya te permite realizar consultas que modifiquen campos de la BD

enculator
09 de Noviembre del 2005
A mi me pasaba lo mismo y era problema de que la
base de datos no tenia permiso de escritura.