La operación debe usar una consulta actualizable

Posted by NaXo
 
Esta mañana en el trabajo he tenido que resolver un problema con la base de datos de prensa, una BD en Access con la que se interactúa a través de una aplicación web programada en PHP. He tardado más de lo que me hubiese gustado en resolverlo, así que lo comparto por si a alguien le sucede alguna vez, que no pierda tanto tiempo como yo.
El problema se presentaba cuando intentaba llevar a cabo la modificación del contenido de un registro. En vez de realizarse la actualización saltaba el siguiente mensaje de error:
SQL error: [Microsoft][Controlador ODBC Microsoft Access] La operación debe usar una consulta actualizable…
Lo curioso es que la aplicación llevaba funcionando con normalidad algo más de un año, pero, tras un fallo en el servidor, algo debió trastocarse. Las operaciones de lectura funcionaban a la perfección, así que debía tratarse de un error de permisos.
Buscando por internet descubrí que solía darse en máquinas que corrían sobre el sistema operativo Windows XP, como es el caso, y encontré varias soluciones. Una de ellas, y la que yo utilicé, comprendía la reconfiguración de los permisos de la carpeta donde se ubica la base de datos (también pueden modificarse únicamente los permisos del fichero *.mdb de la BD) para los usuarios que acceden a través de internet. Para ello basta seguir los siguientes pasos:
  • Asegurarnos de que tenemos desactivada la opción Utilizar uso compartido simple de archivos, accesible a través del menú Herramientas > Opciones de carpeta… > Ver desde cualquier carpeta. Podremos volver a activarlo una vez terminemos con la configuración de los permisos.
  • Navegar hasta la carpeta donde se encuentra la BD y sobre dicha carpeta, pulsar el botón secundario, acceder a Propiedades, pestaña Seguridad y pulsar el botón Agregar.
  • En la ventana que se abre, añadir el usuario IUSR_nombre_maquina. Por ejemplo, si la máquina es INFORMATICA, el usuario a añadir sería IUSR_INFORMATICA. Aceptamos.
  • Vemos que se ha añadido el usuario Cuenta de usuario para internet. Seleccionar y marcar Control total.
Con esto se soluciona el problema de los permisos de escritura y desaparece el mensaje de error, actualizándose correctamente los registros.
Si se desea, puede volver a activarse la opción Utilizar uso compartido simple de archivos, que desactivamos para tener acceso a la pestaña Seguridad en las propiedades de la carpeta.


No hay comentarios:

Publicar un comentario

Gracias por comentar en mi blog. Saludos.