Error al insertar datos en una BD

Sandra
19 de Marzo del 2004
Hola todos!
Tengo una BD y realizo las consultas perfectamente, pero cuando quiero insertar, modificar o borrar datos me da el siguiente error:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] No se puede actualizar. Base de datos u objeto de slo lectura.
/EjemploBD/borrar.asp, line 20

¿que es lo que estoy haciendo mal? dnde especifico que la BD no es de slo lectura?
Gracias,

Sandra



Isaias
19 de Marzo del 2004
Tal ves estas abriendo la base como solo lectura, necesitas abrirla para lectura y escritura de esta forma:
Dim oConn, rs, SQL

'Creamos los objetos
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")

'Conectamos con DSN a la base de datos
oConn.Open "DSN=MisDatos"
' Tenemos que especificar un Cursor y un Lock (cerrojo) que permitan editar.
' Cursor=adOpenKeyset
rs.CursorType=1
' Lock=adLockOptimistic
rs.LockType=2

SQL="SELECT Nombre, Apellido, Edad FROM Empleados WHERE Nombre='Paco';"
rs.Open SQL, oConn

'Ahora aadimos un registro nuevo
rs.AddNew
' Usamos rs.Fields(0) en lugar de rs.Fields(nombre) para que veis otra sintaxis:
' 0 es el primer campo, 1 el segundo, etc.
rs.Fields(0)="Paco"
rs.Fields(1)="Gmez"
rs.Fields(2)=35

'Guardamos los cambios
rs.Update

rs.Close

Bea
19 de Marzo del 2004
A mi me pasaba lo mismo y lo solucione. El problema es por los permisos, pero del sistema operativo. Lo que tienes que hacer es ir al directorio de la base de datos y con boton derecho sobre ella seleccionar seleccionar propiedades. Te deberia de salir un cuadro con 3 pestaas, una de ellas seguridad, seleccionala. En esta pestaa te aperecen los permisos de los usuarios sobre la base de datos. Debes seleccionar Todos y en donde pone permisos tienes que activar la casilla Control Total. Aceptas y prueba ahora la base de datos.

fls
19 de Marzo del 2004
A lo mejor puede ser una de estas dos cosas:

*que tenga una password y por eso no puedas insertar

*O que la base de datos access la tengas abierta en tu pc