PRB: Error ASP 80004005 "No se encuentra el nombre de origen de datos"

Seleccione idioma Seleccione idioma
Id. de artículo: 306345 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando utiliza Objetos de datos ActiveX (ADO) u ODBC para abrir una conexión de base de datos en una página ASP (páginas Active Server), puede aparecer el siguiente mensaje de error:
Error '80004005' de Proveedor OLE DB de Microsoft para controladores ODBC
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado.

Causa

Este error se puede producir cuando utiliza una cadena de conexión basada en DSN (una cadena de conexión que utiliza un DSN de sistema) o una cadena de conexión sin DSN con ADO y ODBC para abrir una conexión de base de datos en una página ASP. A continuación se indican las causas comunes de este error.

Usar un DSN de ODBC

  • La cuenta de usuario de Microsoft Windows NT 4.0 o Windows 2000 que se utiliza para procesar la solicitud de la página ASP no tiene permisos suficientes para leer la clave del Registro que almacena la información de configuración del DSN especificado.
  • El DSN de ODBC de sistema especificado en la cadena de conexión ADO no existe en el servidor de IIS.
  • Se utiliza la variable Aplicación o Sesión de ASP que se inicializa en el archivo Global.asa de la aplicación ASP (o en una página ASP a la que se obtiene acceso antes que a la página que contiene el código de conexión de base de datos) para especificar la cadena de conexión ADO. Esta variable de la cadena de conexión no se inicializa cuando se ejecuta el código que abre la conexión de base de datos. Para confirmar que esto es así, agregue una instrucción Response.Write delante de la línea de código que abre la conexión de base de datos para mostrar la cadena de conexión almacenada en la variable.

Usar una cadena de conexión sin DSN

  • La cuenta de usuario de Microsoft Windows NT 4.0 o Windows 2000 que se utiliza para procesar la solicitud de la página ASP no tiene permisos suficientes para leer la clave del Registro que almacena la información de configuración del controlador ODBC. El parámetro Controlador de una cadena de conexión sin DSN especifica el controlador ODBC que se utiliza para establecer la conexión de base de datos.
  • El nombre del controlador ODBC especificado en la cadena de conexión es incorrecto o indica un controlador que no está instalado en el servidor de Internet Information Server (IIS).
  • Se utiliza la variable Aplicación o Sesión de ASP que se inicializa en el archivo Global.asa de la aplicación ASP (o en una página ASP a la que se obtiene acceso antes que a la página que contiene el código de conexión de base de datos) para especificar la cadena de conexión ADO. Esta variable de la cadena de conexión no se inicializa cuando se ejecuta el código que abre la conexión de base de datos. Para confirmar que esto es así, agregue una instrucción Response.Write delante de la línea de código que abre la conexión de base de datos para mostrar la cadena de conexión almacenada en la variable.

Solución

Importante: esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. Sin embargo, se pueden producir graves problemas si modifica el Registro incorrectamente. Por tanto, asegúrese de que sigue estos pasos cuidadosamente. Para obtener más protección, haga una copia de seguridad del Registro antes de modificarlo. De este modo, podrá restaurarlo si se produce algún problema. Para obtener más información acerca de cómo realizar una copia de seguridad del Registro y restaurarlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows

Usar un DSN de ODBC

Permisos insuficientes para leer la clave del Registro de DSN

Otorgue acceso de lectura a la clave del Registro de DSN de sistema ODBC a la cuenta de usuario de Windows NT 4.0 o Windows 2000 del modo siguiente:
  1. Averigüe qué cuenta se utiliza para procesar la solicitud de la página ASP.
  2. En el menú Inicio, haga clic en Ejecutar, escriba regedt32.exe y, a continuación, haga clic en Aceptar para iniciar el Editor del Registro.
  3. En la ventana HKEY_LOCAL_MACHINE, busque la clave HKLM\SOFTWARE\ODBC\ODBC.INI. La clave ODBC.INI contiene una subclave para cada DSN de sistema ODBC registrado en el servidor.
  4. Haga clic en la clave del Registro del DSN especificado en la cadena de conexión ADO.
  5. En el menú Seguridad, haga clic en Permisos.
  6. Agregue la cuenta de usuario que ha identificado en el paso 1 a la lista de usuarios con acceso a esta clave y active la casilla de verificación Lectura para este usuario.
  7. Haga clic en Aplicar y cierre el Editor del Registro.

El DSN especificado no existe en el servidor de IIS

Cree el DSN de sistema ODBC en el servidor de IIS.

El código de Global.asa para iniciar la cadena de conexión ADO no se ejecuta

  1. Compruebe que la carpeta de la aplicación de IIS se ha configurado como un directorio virtual de IIS con permisos para ejecutar secuencias de comandos.
  2. Compruebe que el archivo Global.asa está en el directorio raíz de la aplicación de IIS.
  3. Si la carpeta de la aplicación ya está configurada como un directorio virtual de ISS, quite la aplicación de IIS y vuelva a crearla.
  4. Consulte los artículos que se indican en la sección "Referencias" para determinar si alguno de ellos se aplica a su situación específica.
  5. Póngase en contacto con el Servicio de soporte técnico de Microsoft si el código de Global.asa sigue sin ejecutarse después de realizar los pasos anteriores.

Usar una cadena de conexión sin DSN

Permisos insuficientes para leer la clave del Registro del controlador ODBC especificado

Otorgue acceso de lectura a la clave del Registro del controlador ODBC especificado a la cuenta de usuario de Windows NT 4.0 o Windows 2000 del modo siguiente:
  1. Averigüe qué cuenta se utiliza para procesar la solicitud de la página ASP.
  2. En el menú Inicio, haga clic en Ejecutar, escriba regedt32.exe y, a continuación, haga clic en Aceptar para iniciar el Editor del Registro.
  3. En la ventana HKEY_LOCAL_MACHINE, busque la clave HKLM\SOFTWARE\ODBC\ODBCINST.INI. La clave ODBCINST.INI contiene una subclave para cada controlador ODBC instalado en el servidor.
  4. Haga clic en la clave del Registro del controlador especificado en la cadena de conexión ADO.
  5. En el menú Seguridad, haga clic en Permisos.
  6. Agregue la cuenta de usuario que ha identificado en el paso 1 a la lista de usuarios con acceso a esta clave y active la casilla de verificación Lectura para este usuario.
  7. Haga clic en Aplicar y cierre el Editor del Registro.

El nombre del controlador es incorrecto o este no está instalado en el servidor de IIS

Compruebe que el nombre del controlador ODBC está escrito correctamente en la cadena de conexión ADO. Compruebe también que el controlador especificado está instalado en el servidor de IIS. Para ver una lista de los controladores ODBC instalados en el sistema, utilice el Administrador de origen de datos ODBC (Odbcad32.exe) en la ficha Controladores.

El código de Global.asa para iniciar la cadena de conexión ADO no se ejecuta

  1. Compruebe que la carpeta de la aplicación de IIS se ha configurado como un directorio virtual de IIS con permisos para ejecutar secuencias de comandos.
  2. Compruebe que el archivo Global.asa está en el directorio raíz de la aplicación de IIS.
  3. Si la carpeta de la aplicación ya está configurada como un directorio virtual de ISS, quite la aplicación de IIS y vuelva a crearla.
  4. Consulte los artículos que se indican en la sección "Referencias" para determinar si alguno de ellos se aplica a su situación específica.
  5. Póngase en contacto con el Servicio de soporte técnico de Microsoft si el código de Global.asa sigue sin ejecutarse después de realizar los pasos anteriores.

Estado

Este comportamiento es una característica del diseño de la aplicación.

Más información

Las cuentas de usuario de Windows NT 4.0 o Windows 2000 cuyas credenciales se utilizan para procesar una solicitud de una página ASP se determinan mediante el mecanismo de autenticación que usa el servidor Web para autenticar la solicitud de usuario. Por ejemplo, si utiliza una autenticación anónima, se usan las credenciales de la cuenta anónima de ISS configurada (la cuenta IUSR_<NombreServidorWeb> de forma predeterminada) para procesar la solicitud de usuario. Cuando se utiliza la autenticación básica, Microsoft Internet Explorer pide al usuario que proporcione un identificador y una contraseña de usuario de red de Windows NT o Windows 2000 válidos, cuyas credenciales se utilizan a continuación para procesar la solicitud. Para obtener información adicional acerca de los mecanismos de autenticación compatibles y su funcionamiento, consulte la documentación en línea de IIS.

Referencias

Para obtener información adicional al respecto, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
188715 Global ASA no se activa cuando Visual InterDev creó la aplicación de IIS 4.0
288245 PRB: Global.asa no se activa desde Personal Web Server en Windows 98
265275 FP2000: Global.asa no se ejecuta en FrontPage Web
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso para otras consideraciones

Propiedades

Id. de artículo: 306345 - Última revisión: martes, 02 de julio de 2013 - Versión: 1.0
La información de este artículo se refiere a:
  • Servicios de Microsoft Internet Information Server 5.0
  • Microsoft Data Access Components 2.1
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.6 Service Pack 1
  • Microsoft Data Access Components 2.7
Palabras clave: 
kbprb KB306345

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com