Error al escribir en la base de datos
Hola!
Tengo el siguiente problema, y llevo mucho tiempo mirandolo pero no lo consigo resolver.Estoy intentando hacer un foro
partiendo como base de uno de internet que he encontrado.Cuando intento añadir un registro a la base de datos me da un
error, de que la base de datos solamente es de lectura.El codigo es el siguiente:
<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4%>
<%foro=request.form("foro")
if foro="" then %>
<html>
<head>
<title>Error al insertar pregunta</title>
</head>
<body bgcolor="#CCFFCC">
<p align="center"><img border="0" src="images/titulo.jpg"></p>
<p align="center">Ningun campo puede estar en blanco,
<a href="insertarforo.htm">
inténtalo otra vez</a></p>
</body>
</html>
<%else
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.Mappath("/pyr.mdb")
set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeySet
rs.LockType = adLockOptimistic
rs.Open "foros",conn
rs.AddNew("foro")=foro
rs.Close
Conn.Close
end if%>
La base de datos la encuentra bien, y el recordset segun he comprobado hace el update bien.Pero no me deja grabar
a la base de datos pq dice que solo es de lectura.En cambio si que me deja consultar en la base de datos.
¿Cual puede ser el problema? Tengo dos directorios _private
y _vti_log, ¿no tendre que poner la base de datos en alguno de estos dos para que funcione correctamente?
He probado a cambiar los permisos de lectura y escritura de la base de datos, pero tampoco funciona ¿que permisos
debo poner de lectura, escritura y ejecucion para los archivos html, los mdb y los asp en el iis?¿y para los diferentes
directorios que tengo? ¿he de crear algun directorio virtual?
Gracias!
Gerardo
Tengo el siguiente problema, y llevo mucho tiempo mirandolo pero no lo consigo resolver.Estoy intentando hacer un foro
partiendo como base de uno de internet que he encontrado.Cuando intento añadir un registro a la base de datos me da un
error, de que la base de datos solamente es de lectura.El codigo es el siguiente:
<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4%>
<%foro=request.form("foro")
if foro="" then %>
<html>
<head>
<title>Error al insertar pregunta</title>
</head>
<body bgcolor="#CCFFCC">
<p align="center"><img border="0" src="images/titulo.jpg"></p>
<p align="center">Ningun campo puede estar en blanco,
<a href="insertarforo.htm">
inténtalo otra vez</a></p>
</body>
</html>
<%else
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.Mappath("/pyr.mdb")
set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeySet
rs.LockType = adLockOptimistic
rs.Open "foros",conn
rs.AddNew("foro")=foro
rs.Close
Conn.Close
end if%>
La base de datos la encuentra bien, y el recordset segun he comprobado hace el update bien.Pero no me deja grabar
a la base de datos pq dice que solo es de lectura.En cambio si que me deja consultar en la base de datos.
¿Cual puede ser el problema? Tengo dos directorios _private
y _vti_log, ¿no tendre que poner la base de datos en alguno de estos dos para que funcione correctamente?
He probado a cambiar los permisos de lectura y escritura de la base de datos, pero tampoco funciona ¿que permisos
debo poner de lectura, escritura y ejecucion para los archivos html, los mdb y los asp en el iis?¿y para los diferentes
directorios que tengo? ¿he de crear algun directorio virtual?
Gracias!
Gerardo
