Guía del usuario Cancelar

Solución de problemas de conexiones a bases de datos

 

 

Solución de problemas relacionados con permisos y mensajes de error de Microsoft y de MySQL en Dreamweaver.

Nota:

La interfaz de usuario se ha simplificado en Dreamweaver y versiones posteriores. Como resultado, es posible que no encuentre algunas de las opciones que se describen en este artículo en Dreamweaver y versiones posteriores. Para obtener más información, consulte este artículo.

Solución de problemas relacionados con permisos

Una de las causas más habituales de problemas se debe a los permisos insuficientes sobre archivos y carpetas. Si la base de datos está ubicada en un equipo con Windows 2000 o Windows XP y aparece un mensaje de error al intentar ver una página dinámica en un navegador web o en la Vista en vivo, dicho error puede deberse a un problema de permisos.

La cuenta de Windows que está intentando acceder a la base de datos no dispone de permisos suficientes. Podría tratarse de la cuenta anónima de Windows (de manera predeterminada, IUSR_nombre_del_equipo) o una cuenta de un usuario concreto, si la página está protegida mediante acceso con autenticación.

Debe cambiar los permisos para conceder a la cuenta IUSR_nombre_del_equipo los permisos correctos de manera que el servidor web pueda obtener acceso al archivo de base de datos. Además, la carpeta que contiene el archivo de base de datos también debe tener configurados determinados permisos para escribir en dicha base de datos.

Si la página está pensada para que se obtenga acceso a ella de manera anónima, asigne a la cuenta IUSR_nombre_del_equipo control total sobre la carpeta y el archivo de base de datos como se describe en el siguiente procedimiento.

Asimismo, si la ruta a la base de datos se expresa mediante UNC (\\Server\Share), asegúrese de que en Permisos de los recursos compartidos se concede acceso total a la cuenta IUSR_nombre_del_equipo. Este paso debe realizarse aun en el caso de que la opción de compartir esté activada en el servidor web local.

Si copia la base de datos de otra ubicación, ésta podría no heredar los permisos de su carpeta de destino y puede que tenga que cambiar los permisos para la base de datos.

Comprobación o cambio de los permisos para el archivo de base de datos (Windows XP)

  1. Asegúrese de que tiene privilegios de administrador en el equipo.
  2. En el Explorador de Windows, localice el archivo de base de datos o la carpeta que contiene la base de datos, haga clic con el botón derecho del ratón en el archivo o carpeta y seleccione Propiedades.
  3. Seleccione la pestaña Seguridad.
    Nota:

    Este paso solo debe darlo si dispone de un sistema de archivos NTFS. Si su sistema de archivos es FAT, el cuadro de diálogo no incluirá la pestaña Seguridad.

  4. Si la cuenta IUSR_nombre_del_equipo no aparece en la lista Grupo o Nombres de usuario, haga clic en el botón Añadir para añadirla.
  5. En el cuadro de diálogo Seleccionar usuarios o grupos, haga clic en Avanzadas.

    El cuadro de diálogo cambia para mostrar más opciones.

  6. Haga clic en Ubicaciones y seleccione el nombre del equipo.
  7. Haga clic en el botón Buscar ahora para mostrar una lista de nombres de cuentas asociadas al equipo.
  8. Seleccione la cuenta IUSR_nombre_del_equipo y haga clic en Aceptar; a continuación, haga clic en Aceptar de nuevo para vaciar el cuadro de diálogo.
  9. Para asignar a la cuenta IUSR los permisos completos, seleccione Control total y haga clic en Aceptar.

Comprobación o cambio de los permisos para el archivo de base de datos (Windows 2000)

  1. Asegúrese de que tiene privilegios de administrador en el equipo.
  2. En el Explorador de Windows, localice el archivo de base de datos o la carpeta que contiene la base de datos, haga clic con el botón derecho del ratón en el archivo o carpeta y seleccione Propiedades.
  3. Seleccione la pestaña Seguridad.
    Nota:

    Este paso solo debe darlo si dispone de un sistema de archivos NTFS. Si su sistema de archivos es FAT, el cuadro de diálogo no incluirá la pestaña Seguridad.

  4. Si la cuenta IUSR_nombre_del_equipo no figura entre las cuentas de Windows en el cuadro de diálogo Permisos de archivos, haga clic en el botón Agregar para añadirla.
  5. En el cuadro de diálogo Seleccionar usuarios, equipos o grupos, seleccione el nombre del equipo del menú Buscar en para mostrar una lista de nombres de cuentas asociadas al equipo.
  6. Seleccione la cuenta IUSR_nombre_del_equipo y, a continuación, haga clic en Agregar.
  7. Para asignar a la cuenta IUSR permisos completos, seleccione Control total del menú Tipo de acceso y haga clic en Aceptar.

    Para mayor seguridad, los permisos pueden establecerse de manera que el permiso Leer esté desactivado para la carpeta web que contiene la base de datos. No se permitirá examinar la carpeta, pero las páginas web continuarán teniendo acceso a la base de datos.

    Para más información sobre la cuenta IUSR y los permisos de servidor web, consulte las siguientes notas técnicas en el Centro de soporte de Adobe:

Solución de mensajes de error de Microsoft

Estos mensajes de error de Microsoft pueden aparecer si solicita una página dinámica desde el servidor y utiliza Internet Information Server (IIS) con un sistema de base de datos Microsoft como Access o SQL Server.

Nota:

Adobe no ofrece servicio técnico para el software de terceros, como Microsoft Windows e IIS. Si no logra resolver el problema consultando esta información, póngase en contacto con el servicio técnico de Microsoft o visite el sitio web de Microsoft en http://support.microsoft.com/.

Para obtener más información sobre errores 80004005, consulte “Guía para la solución de errores 80004005 en páginas Active Server y Microsoft Data Access (Q306518)” en el sitio web de Microsoft en http://support.microsoft.com/default.aspx?scid=kb;es-es;Q306518.

[[Referencia]80004005 - No se encuentra el nombre del origen y no se ha especificado el controlador predeterminado.]

Este error se produce al intentar ver una página dinámica en un navegador web o en la Vista en vivo. El error puede variar dependiendo de la base de datos y del servidor web. Otras variantes de este mensaje de error son:

  • 80004005 - Driver's SQLSetConnectAttr failed

  • 80004005 - General error unable to open registry key 'DriverId'

    Éstas son las posibles causas y soluciones:

  • La página no encuentra el DSN. Asegúrese de que se ha creado un DSN tanto en el servidor web como en el equipo local.

  • Puede que el DSN se haya configurado como un DSN de usuario y no como un DSN de sistema. Elimine el DSN de usuario y cree un DSN de sistema en su lugar.

Nota:

Si no elimina el DSN de usuario, los nombres de DSN duplicados generarán un nuevo error ODBC.

Si utiliza Microsoft Access, puede que el archivo de base de datos (.mdb) esté bloqueado. El bloqueo puede deberse a que un DSN con un nombre distinto está accediendo a la base de datos. En el Explorador de Windows, busque el archivo de bloqueo (.ldb) en la carpeta que contiene el archivo de base de datos (.mdb) y elimine el archivo .ldb. Si hay otro DSN que señala al mismo archivo de base de datos, elimine el DSN para evitar el error en el futuro. Reinicie el equipo después de realizar cambios.

[[Referencia]80004005 - No se puede usar '(desconocido)'; el archivo ya está en uso]

Este error se produce cuando se utiliza una base de datos de Microsoft Access y se intenta ver una página dinámica en un navegador web o en la Vista en vivo. Otra variante de este mensaje de error es “80004005 - Microsoft Jet database engine cannot open the file (unknown)”

Lo más probable es que este error se deba a un problema de permisos. Éstas son algunas causas y soluciones específicas:

  • Puede que la cuenta que está utilizando Internet Information Server (normalmente IUSR) no disponga de los permisos correctos de Windows para una base de datos basada en archivo o para la carpeta que contiene el archivo. Compruebe los permisos en la cuenta de IIS (IUSR) en el administrador de usuarios.

  • Puede que carezca de permiso para crear o destruir archivos temporales. Compruebe los permisos para el archivo y la carpeta. Asegúrese de que dispone de permiso para crear o destruir cualquier archivo temporal. Los archivos temporales normalmente se crean en la misma carpeta que la base de datos, aunque el archivo también puede crearse en otras carpetas, como /Winnt, por ejemplo.

  • En Windows 2000, es posible que sea necesario cambiar el valor de tiempo de espera para el DSN de la base de datos Access. Para cambiar el valor de tiempo de espera, seleccione Inicio > Configuración > Panel de control > Herramientas administrativas > Orígenes de datos (ODBC). Haga clic en la pestaña Sistema, resalte el DSN correcto y haga clic en el botón Configurar. Haga clic en el botón Opciones y cambie el valor de tiempo de espera para la página a 5000.

    Si continúa teniendo problemas, consulte los siguientes artículos de Microsoft Knowledge Base:

  • PRB: 80004005 “No se puede usar '(desconocido)'; el archivo ya está en uso” en http://support.microsoft.com/default.aspx?scid=kb;es-es;Q174943.

  • PRB: Fallos de conectividad de bases de datos de Microsoft Access en páginas Active Server en http://support.microsoft.com/default.aspx?scid=kb;es-es;Q253604.

  • PRB: Error “No se puede abrir el archivo desconocido” en http://support.microsoft.com/default.aspx?scid=kb;es-es;Q166029.

[[Referencia]80004005 - Error de inicio de sesión()]

Este error se produce cuando se utiliza Microsoft SQL Server y se intenta ver una página dinámica en un navegador web o en la Vista en vivo.

El error lo genera SQL Server si éste no acepta o no reconoce la cuenta o la contraseña de inicio de sesión enviada (si utiliza seguridad estándar) o si una cuenta de Windows no está asignada a ninguna cuenta SQL (si utiliza seguridad integrada).

Éstas son posibles soluciones:

  • Si utiliza seguridad estándar, puede que el nombre y la contraseña de la cuenta sean incorrectos. Pruebe con la cuenta y la contraseña de Admin (UID= "sa" y sin contraseña), que debe definirse en la línea de la cadena de conexión. (Los DSN no almacenan nombres ni contraseñas de usuario.)

  • Si utiliza seguridad integrada, compruebe la cuenta de Windows que llama a la página y localice la cuenta SQL que tiene asignada (en el caso de que la tenga).

  • SQL Server no permite el guión bajo en los nombres de cuentas SQL. Si alguien asigna manualmente la cuenta IUSR_machinename de Windows a una cuenta SQL con el mismo nombre, la asignación fallará. Asigne cualquier cuenta que utilice un guión bajo a un nombre de cuenta en SQL que no utilice ningún guión bajo.

[[Referencia]80004005 - La operación debe utilizar una consulta actualizable]

Este error se produce cuando un evento está actualizando un juego de registros o insertando datos en un juego de registros.

Éstas son las posibles causas y soluciones:

  • Los permisos establecidos para la carpeta que contiene la base de datos son excesivamente restrictivos. Los privilegios IUSR deben establecerse para lectura y escritura (read/write).

  • Los permisos para el propio archivo de base de datos no incluyen privilegios completos de lectura y escritura.

  • Puede que la base de datos esté ubicada fuera del directorio Inetpub/wwwroot. Aunque puede ver y buscar los datos, es posible que no pueda actualizarlos a no ser que la base de datos se encuentre en el directorio wwwroot.

  • El juego de registros está basado en una consulta no actualizable. Los nexos son ejemplos de consultas no actualizables en una base de datos. Reestructure sus consultas para que sean actualizables.

    Para obtener más información sobre este error, consulte “PRB: ASP ‘Error, la consulta no es actualizable' al actualizar el registro de la tabla” consulte el artículo de Microsoft en http://support.microsoft.com/default.aspx?scid=kb; es-es-nosotros; Q174640.

[[Referencia]80040e07 - Falta de coincidencia entre el tipo de datos y la expresión de criterios]

Este error se produce cuando el servidor intenta procesar una página que contiene un comportamiento de servidor Insertar registro o Actualizar registro y el comportamiento de servidor intenta establecer el valor de una columna de Fecha/Hora de una base de datos de Microsoft Access con una cadena vacía ("").

Microsoft Access impone una serie de reglas rigurosas en lo que se refiere a la introducción de datos para los valores de determinadas columnas. El valor de cadena vacía en una consulta SQL no se puede almacenar en una columna de Fecha/Hora de Access. Actualmente, la única solución conocida consiste en evitar insertar o actualizar columnas de Fecha/Hora en Access con cadenas vacías ("") o con cualquier otro valor que no se corresponda con la gama de valores especificados para el tipo de datos.

[[Referencia]80040e10 - Muy pocos parámetros]

Este error se produce cuando una columna especificada en una consulta SQL no existe en la tabla de la base de datos. Contraste los nombres de las columnas de la tabla de la base de datos con lo especificado en la consulta SQL. Este error se debe normalmente a un error ortográfico.

[[Referencia]80040e10 - Campo COUNT incorrecto]

Este error se produce cuando obtiene una vista previa de una página que contiene un comportamiento de servidor Insertar registro en un navegador web e intenta utilizarlo para insertar un registro en una base de datos de Microsoft Access.

Puede que esté intentando insertar un registro en un campo de una base de datos que incluye un signo de interrogación (?) en su nombre de campo. El signo de interrogación es un carácter especial para algunos motores de base de datos, incluido Microsoft Access, por lo que no debe utilizarse en los nombres de tablas o campos de una base de datos.

Abra el sistema de base de datos y elimine el signo de interrogación (?) de los nombres de campos; después actualice los comportamientos de servidor de la página que hagan referencia al campo en cuestión.

[[Referencia]80040e14 - Error de Sintaxis en instrucción INSERT INTO]

Este error se produce cuando el servidor intenta procesar una página que contiene un comportamiento de servidor Insertar registro.

Este error se debe normalmente a uno o varios de los siguientes problemas relacionados con el nombre de un campo, un objeto o una variable de la base de datos:

  • Utilización de una palabra reservada como nombre. La mayoría de las bases de datos tienen un conjunto de palabras reservadas. Por ejemplo, “date” es una palabra reservada que no puede utilizarse para nombres de columnas en una base de datos.

  • Utilización de caracteres especiales en el nombre. Estos son algunos ejemplos de caracteres especiales:

    . / * : ! # & - ?

  • Utilización de un espacio en el nombre.

    El error también puede aparecer cuando hay una máscara de introducción definida para un objeto de la base de datos y los datos introducidos no cumplen los requisitos de la máscara.

    Para resolver el problema, evite utilizar palabras reservadas como “date”, “name”, “select”, “where” y “level” al especificar los nombres de columnas en la base de datos. Asimismo, elimine espacios y caracteres especiales.

    Consulte las siguientes páginas web para obtener las listas de palabras reservadas en los sistemas de bases de datos más habituales:

  • Microsoft Access en http://support.microsoft.com/default.aspx?scid=kb;es-es;Q209187

  • MySQL en http://dev.mysql.com/doc/mysql/en/reserved-words.html

[[Referencia]80040e21 - Error ODBC en Insertar o Actualizar]

Este error se produce cuando el servidor intenta procesar una página que contiene un comportamiento de servidor Actualizar registro o Insertar registro. La base de datos no puede realizar la operación de actualización o inserción que el comportamiento de servidor está intentando llevar a cabo.

Éstas son las posibles causas y soluciones:

  • El comportamiento de servidor está intentando actualizar un campo con numeración automática de una tabla de la base de datos o intentando insertar un registro en un campo con numeración automática. Dado que el sistema de base de datos completa los campos con numeración automática, todo intento de completar externamente estos campos produce un fallo.

  • Los datos que el comportamiento de servidor está actualizando o insertando son de un tipo inadecuado para el campo de la base de datos, como, por ejemplo, insertar una fecha en un campo booleano (sí/no), insertar una cadena en un campo numérico o insertar una cadena con formato incorrecto en un campo de Fecha/Hora.

[[Referencia]800a0bcd - Se cumple BOF o EOF]

Este error se produce al intentar ver una página dinámica en un navegador web o en la Vista en vivo.

El problema tiene lugar cuando la página intenta mostrar datos de un juego de registros vacío. Para resolver el problema, aplique el comportamiento de servidor Mostrar región al contenido dinámico que debe mostrarse en la página de la siguiente forma:

  1. Resalte el contenido dinámico en la página.

  2. En el panel Comportamientos del servidor, haga clic en el botón de signo más (+) y elija Mostrar región > Mostrar región si el juego de registros no está vacío.

  3. Seleccione el juego de registros que proporciona el contenido dinámico y haga clic en Aceptar.

  4. Repita los pasos 1 a 3 para cada elemento de contenido dinámico de la página.

Solucione los problemas relacionados con mensajes de error de MySQL

Un mensaje de error muy común que el usuario puede encontrarse al probar una conexión de base de datos PHP en MySQL 4.1 es “Client does not support authentication protocol requested. Consider upgrading MySQL client.” (El cliente no admite el protocolo de autenticación solicitado. Es recomendable que actualice el cliente MySQL).

Tal vez deba volver a una versión anterior de MySQL o instalar PHP 5 y copiar algunas bibliotecas de vínculos dinámicos (DLL). Para obtener instrucciones detalladas, consulte Configuración de un entorno de desarrollo PHP.

Obtén ayuda de forma más rápida y sencilla

¿Nuevo usuario?