Foros del Web » Programando para Internet » ASP Clásico »

Error al actualiza base access!!

Estas en el tema de Error al actualiza base access!! en el foro de ASP Clásico en Foros del Web. Hola amigos! Tengo un problema al actualizar una base de datos access, el codigo es el siguiente: openstr = "driver={Microsoft Access Driver (*.mdb)};" &_ "dbq=" ...
  #1 (permalink)  
Antiguo 11/06/2007, 04:32
 
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años, 2 meses
Puntos: 0
Error al actualiza base access!!

Hola amigos!

Tengo un problema al actualizar una base de datos access, el codigo es el siguiente:

openstr = "driver={Microsoft Access Driver (*.mdb)};" &_
"dbq=" & Server.MapPath("prueva.mdb")
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open openstr

sql = "SELECT Mail, Nombre FROM Clientes WHERE Mail ='" & Request("email") & "'"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn,1,3

'On Error Resume Next

if rs.eof = true then

estado="0" 'ok, no existe el email por lo que el registro va bien

rs.addnew

rs("mail")=request("email")

rs.update


Y me da este error en la linea roja

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][Controlador ODBC Microsoft Access] No se puede actualizar. Base de datos u objeto de sólo lectura.

/registro.asp, línea 30

No lo entiendo, la base no esta marcada como solo lectura, he enredado tb en el iis probando a poner permisos de escritura y tal pero el mismo error todo el rato, he visto tb en este foro un tema con este mismo error pero no he sacado nada en claro, a ver si alguien puede ayudarme ya que estoy atascado. Muchisimas gracias

un saludo

Joseba
  #2 (permalink)  
Antiguo 12/06/2007, 07:45
 
Fecha de Ingreso: enero-2006
Ubicación: Torroles (Costa der Só)
Mensajes: 1.017
Antigüedad: 18 años, 5 meses
Puntos: 7
Re: Error al actualiza base access!!

Cita:
...
Los Controladores de Escritorio de Microsoft no pueden procesar actualizaciones SQLSetPos en un conjunto de registros abierto utilizando una combinación en su instrucción Select. Esto significa que un dynaset no permitirá combinaciones actualizables a menos que utilice una consulta predefinida como se menciona anteriormente. Si la instrucción SELECT contiene una combinación, el controlador rechazará intentos para realizar actualizaciones. Esto es una limitación de los controladores.

Si especifica una combinación en la instrucción SQL SELECT de su conjunto de registros llamada Open() o en el call GetDefaultSQL() y si está utilizando dynasets, recibirá el error siguiente:

Error: Error que actualiza registro.
No puede actualizar. La base de datos u objeto son de sólo lectura.

De aqui.


Tambien aqui se da una posible solución:

- forosdelweb





Un saludo
__________________
"Tus pecados son el estiércol sobre el que florecerán las flores de tus virtudes" - Gerald Messadié -
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.