Solución de problemas de conexiones a bases de datos

Última actualización el 20 dic 2021

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

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

Uno de los problemas más habituales es la falta de permisos suficientes de carpeta o archivo.Si la base de datos se encuentra en un ordenador Windows 2000 o Windows XP y recibe un mensaje de error al intentar ver una página dinámica en un explorador web o en la vista Live, el error podría deberse a un problema de permisos.

La cuenta de Windows que intenta acceder a la base de datos no tiene permisos suficientes. La cuenta puede ser la cuenta anónima de Windows (de forma predeterminada, IUSR_computername) o una cuenta de usuario específica, si la página se ha protegido para el acceso autenticado.

Debe cambiar los permisos para conceder a la cuenta IUSR_computername los permisos correctos para que el servidor web pueda acceder al archivo de base de datos.Además, la carpeta que contiene el archivo de la base de datos también debe tener ciertos permisos configurados para escribir en esa base de datos.

Si la página está destinada a ser accedida de forma anónima, dé a la cuenta IUSR_nombredelordenador control total sobre la carpeta y el archivo de la base de datos, como se describe en el procedimiento siguiente.

Además, si se está haciendo referencia a la ruta de la base de datos mediante UNC (\\Servidor\Recurso compartido), asegúrese de que los permisos del recurso compartido den a la cuenta IUSR_nombredelordenador acceso total. Este paso se aplica incluso si el recurso compartido está en el servidor web local.

Si copia la base de datos desde otra ubicación, es posible que no herede los permisos de su carpeta de destino y que tenga que cambiar los permisos para la base de datos.

Comprobar o cambiar los permisos del archivo de la base de datos (Windows XP)

Asegúrate de tener privilegios de administrador en el ordenador.
En el Explorador de Windows, localiza el archivo de la base de datos o la carpeta que contiene la base de datos, haz clic con el botón derecho en el archivo o carpeta, y selecciona Propiedades.
Seleccione la pestaña Seguridad.

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.

Si la cuenta IUSR_nombredelordenador no está incluida en la lista Nombres de grupos o usuarios, haz clic en el botón Agregar para añadirla.
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.

Haga clic en Ubicaciones y seleccione el nombre del equipo.
Haz clic en Buscar ahora para mostrar una lista de nombres de cuenta asociados con el ordenador.
Selecciona la cuenta IUSR_nombredelordenador y haz clic en Aceptar; después haz clic en Aceptar de nuevo para cerrar el cuadro de diálogo.
Para asignar permisos completos a la cuenta IUSR, selecciona Control total y haz clic en Aceptar.

Comprobar o cambiar los permisos del archivo de la base de datos (Windows 2000)

Asegúrate de tener privilegios de administrador en el ordenador.
En el Explorador de Windows, localiza el archivo de base de datos o la carpeta que contiene la base de datos, haz clic con el botón derecho en el archivo o carpeta y selecciona Propiedades.
Seleccione la pestaña Seguridad.
Nota

Este paso solo debe darlo si dispone de un sistema de archivos NTFS. Si tienes un sistema de archivos FAT, el cuadro de diálogo no tendrá una pestaña Seguridad.

Si la cuenta IUSR_nombredelordenador no está incluida entre las cuentas de Windows en el cuadro de diálogo Permisos de archivo , haz clic en el botón Agregar para añadirla.
En el cuadro de diálogo Seleccionar usuarios, equipos o grupos, selecciona el nombre del ordenador del menú Buscar en para mostrar una lista de nombres de cuenta asociados con el ordenador.
Selecciona la cuenta IUSR_nombredelordenador y haz clic en Agregar.
Para asignar permisos completos a la cuenta IUSR, selecciona Control total del menú Tipo de acceso y haz clic en Aceptar.

Para mayor seguridad, se pueden establecer permisos de modo que el permiso de lectura esté deshabilitado para la carpeta web que contiene la base de datos. No se permitirá examinar la carpeta, pero las páginas web seguirán pudiendo acceder a la base de datos.

Para obtener más información sobre la cuenta IUSR y los permisos del 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 producirse cuando solicitas una página dinámica del servidor si utilizas Internet Information Server (IIS) con un sistema de base de datos de Microsoft como Access o SQL Server.

Adobe no proporciona soporte técnico para software de terceros como Microsoft Windows e IIS. Si esta información no soluciona tu problema, ponte en contacto con el soporte técnico de Microsoft o visita el sitio web de soporte 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.

[[Reference]80004005—Nombre de fuente de datos no encontrado y no se especificó controlador predeterminado]

Este error se produce cuando intenta ver una página dinámica en un explorador web o en la vista Live. El mensaje de error puede variar según la base de datos y el servidor web. Otras variaciones del mensaje de error incluyen:

  • 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.

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.

[[Reference]80004005—No se pudo usar '(desconocido)'; archivo ya en uso]

Este error se produce cuando utiliza una base de datos de Microsoft Access e intenta ver una página dinámica en un explorador web o en la vista Live. Otra variación de este mensaje de error es "80004005—El motor de base de datos Microsoft Jet no puede abrir el archivo (desconocido)".

La causa probable es un problema de permisos. Éstas son algunas causas y soluciones específicas:

  • La cuenta utilizada por Internet Information Server (normalmente IUSR) podría no tener los permisos correctos de Windows para una base de datos basada en archivos o para la carpeta que contiene el archivo. Compruebe los permisos en la cuenta de IIS (IUSR) en el administrador de Usuario.

  • Es posible que no tengas permiso para crear o eliminar archivos temporales.Compruebe los permisos para el archivo y la carpeta. Asegúrese de que tenga permiso para crear o eliminar archivos temporales. Los archivos temporales normalmente se crean en la misma carpeta que la base de datos, pero el archivo también se puede crear en otras carpetas como /Winnt.

  • En Windows 2000, es posible que sea necesario cambiar el valor de tiempo de espera para el DSN de la base de datos de 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 sigue teniendo problemas, consulte los siguientes artículos de Microsoft Knowledge Base:

  • PRB: 80004005 "No se pudo usar '(desconocido)'; archivo ya en uso" en http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174943.

  • PRB: Error de conectividad de la base de datos de Microsoft Access en Active Server Pages en http://support.microsoft.com/default.aspx?scid=kb;en-us;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 usas Microsoft SQL Server e intentas visualizar una página dinámica en un explorador web o en vista previa.

Este error lo genera SQL Server si no acepta o reconoce la cuenta de inicio de sesión o contraseña enviada (si usas seguridad estándar), o si una cuenta de Windows no se asigna a una cuenta SQL (si usas seguridad integrada).

Éstas son posibles soluciones:

  • Si usas seguridad estándar, el nombre de cuenta y contraseña podrían ser incorrectos.Prueba la cuenta y contraseña de administrador del sistema (UID= "sa" y sin contraseña), que debe estar definida en la línea de cadena de conexión.(Los DSN no almacenan nombres de Usuario y contraseñas.)

  • Si usas seguridad integrada, verifica la cuenta de Windows que llama a la página y encuentra su cuenta SQL asignada (si la hay).

  • SQL Server no permite guión bajo en nombres de cuenta SQL.Si alguien asigna manualmente la cuenta de Windows IUSR_machinename a una cuenta SQL del mismo nombre, fallará.Asigna cualquier cuenta que use guión bajo a un nombre de cuenta en SQL que no use guión bajo.

[[Referencia]80004005—La operación debe usar una consulta actualizable]

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

Estas son las posibles causas y soluciones:

  • Los permisos establecidos en la carpeta que contiene la base de datos son demasiado restrictivos.Los privilegios IUSR deben estar configurados para lectura/escritura.

  • Los permisos en el archivo de base de datos no tienen privilegios completos de lectura/escritura en vigor.

  • La base de datos podría estar ubicada fuera del directorio Inetpub/wwwroot.Aunque puedes visualizar y buscar los datos, podrías no poder actualizarlos a menos que la base de datos esté ubicada en el directorio wwwroot.

  • El juego de registros está basado en una consulta no actualizable. Las uniones son buenos ejemplos de consultas no actualizables dentro de una base de datos.Reestructura tus consultas para que sean actualizables.

    Para más información sobre este error, consulta "PRB: ASP 'Error The Query Is Not Updateable' When You Update Table Record," en la base de conocimiento de Microsoft en http://support.microsoft.com/default.aspx?scid=kb;en-us;Q174640.

[[Referencia]80040e07—Falta de coincidencia de tipo de datos en expresión de criterios]

Este error se produce cuando el servidor intenta procesar una página que contiene un comportamiento de servidor de inserción o actualización de registros, y el comportamiento de servidor intenta establecer el valor de una columna Fecha/Hora en una base de datos de Microsoft Access a una cadena vacía ("").

Microsoft Access tiene tipificación de datos estricta; impone un conjunto riguroso de reglas sobre valores de columna dados.El valor de cadena vacío en la consulta SQL no se puede almacenar en una columna Fecha/Hora de Access. Actualmente, la única solución conocida es evitar insertar o actualizar columnas Fecha/Hora en Access con cadenas vacías ("") o con cualquier otro valor que no corresponda al rango de valores especificado para el tipo de datos.

[[Reference]80040e10—Muy pocos parámetros]

Este error se produce cuando una columna especificada en tu consulta SQL no existe en la tabla de la base de datos.Compruebe los nombres de columna en su tabla de base de datos con la consulta SQL. La causa de este error es a menudo un error tipográfico.

[[Reference]80040e10—Campo COUNT incorrecto]

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

Puede que estés intentando insertar un registro en un campo de base de datos que tiene 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, y no se debe usar para nombres de tablas de base de datos o nombres de campos.

Abra su sistema de base de datos y elimine el signo de interrogación (?) de los nombres de campo, y actualice los comportamientos de servidor en su página que hacen referencia a este campo.

[[Reference]80040e14—Error de sintaxis en la instrucción INSERT INTO]

Error al procesar una página que contiene un comportamiento de servidor Insertar registro.

Este error normalmente resulta de uno o más de los siguientes problemas con el nombre de un campo, objeto o variable en 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

[[Reference]80040e21—Error ODBC en Insert o Update]

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 gestionar la operación de actualización o inserción que el comportamiento del servidor está intentando realizar.

Estas son las posibles causas y soluciones:

  • El comportamiento del servidor intenta actualizar el campo de número automático de una tabla de base de datos o insertar un registro en un campo de número automático.Dado que los campos de autonumeración se rellenan automáticamente por el sistema de bases de datos, cualquier intento de rellenarlos externamente con un valor falla.

  • Los datos que el comportamiento de servidor está actualizando o insertando son del tipo incorrecto para el campo de base de datos, como 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 Fecha/Hora.

[[Reference]800a0bcd: BOF o EOF es verdadero]

Este error se produce cuando intentas ver una página dinámica en un explorador web o en la vista en vivo.

El problema se produce cuando la página intenta mostrar datos de un conjunto de registros vacío.Para resolver el problema, aplica el comportamiento de servidor Expandir área geográfica al contenido dinámico que se va a mostrar en la Página, de la siguiente manera:

Resaltar el contenido dinámico en la página.

En el panel Server Behaviors, haz clic en el botón Más (+) y selecciona Expandir área geográfica > Expandir área geográfica si el conjunto de registros no está vacío.

Seleccionar el conjunto de registros que proporciona el contenido dinámico y hacer clic en Aceptar.

Repetir los pasos del 1 al 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 común que podrías encontrar al probar una conexión de base de datos PHP con MySQL 4.1 es "El cliente no admite el protocolo de autenticación solicitado. Considera actualizar el cliente MySQL."

Es posible que tengas que volver a una versión anterior de MySQL, o instalar PHP 5 y copiar algunas bibliotecas de vínculos dinámicos (DLLs).Para obtener instrucciones detalladas, consulta Configuración de un entorno de desarrollo PHP.