Mensaje de error al usar un ADODB. Objeto Connection con un controlador ODBC en un equipo basado en Windows x64: "no se especifica el proveedor y no hay ningún proveedor predeterminado designado"


Origen Soporte técnico de Microsoft

PUBLICACIÓN RÁPIDA


LOS ARTÍCULOS DE PUBLICACIÓN RÁPIDA PROPORCIONAN INFORMACIÓN DIRECTAMENTE DESDE LA ORGANIZACIÓN DE SOPORTE TÉCNICO DE MICROSOFT. LA INFORMACIÓN CONTENIDA EN EL PRESENTE SE CREA EN RESPUESTA A TEMAS EMERGENTES O ÚNICOS, O ESTÁ PENSADO PARA OBTENER MÁS INFORMACIÓN SOBRE LA BASE DE CONOCIMIENTOS.

Síntoma


Cuando se usa un ADODB. Objeto Connection con un controlador ODBC y no especifica un proveedor OLEDB en la cadena de conexión, se puede informar del siguiente error en una plataforma de 64 bits. Número de error: mensaje de 800A0EA9Error: el proveedor no se especifica y no hay ningún proveedor predeterminado designado. Origen: ADODB. Conexión

Causa


Este error se produce porque no se ha designado un proveedor predeterminado en una plataforma de 64 bits. En plataformas de 32 bits, MSDASQL se designa como el proveedor predeterminado y, por lo tanto, no se producirá este problema.

Resolución


Para resolver este problema, debe instalar el proveedor MSDASQL de 64 bits y designarlo de forma explícita en el ADODB. Connection.
  1. Descargue e instale el proveedor OLEDB de 64 bits para ODBC (MSDASQL).
  2. Especifique la conexión ODBC en la conexión ADO de la siguiente manera: "Provider = MSDASQL; DSN = MyDSN "
Nota Si su aplicación es una aplicación de 64 bits, necesita tener un controlador ODBC de 64 bits del proveedor. El controlador MSDASQL de 64 bits no puede cargar un controlador ODBC de bits de 32 en el mismo proceso.

Más información


También puede encontrarse con el mismo problema con las aplicaciones ADO de 32 bit que usan una conexión DSN de ODBC y se ejecutan en un entorno WOW. Para resolver el error en ese entorno, debe crear el DSN con el administrador ODBC de 32 bits, que se encuentra en%windir%\SysWOW64\odbcad32.exe.Review las siguientes cuatro cadenas de conexión para SQL Server, que no especifican explícitamente ' Provider = MSDASQL '. Después de cada cadena de conexión, vea la tabla que la sigue por el comportamiento esperado en las plataformas de 64 bits.

Cadena de conexión 1

conex. Open "driver = {SQL Server}; Server = ServerName; UID = userid; PWD = strongPassword;d atabase = Master; " Nota: No se especifica MSDASQL.
Plataforma  Windows 2003 SP2  Windows 2003 SP2 con 64 bit MSDASQL instalado  Vista SP1  Windows7
    X64 o IA64  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado (1)  Success, driver predeterminado = MSDASQL  Success, driver predeterminado = MSDASQL

Cadena de conexión 2

conex. Abra "User ID = userid; Contraseña = strongpassword; Data Source = ServerName; Initial Catalog = Master; " Nota: No se especificó el proveedor SQLOLEDB.
Múltiples   Windows 2003 SP2  Windows 2003 SP2 con 64 bit MSDASQL instalado  Vista SP1  Windows7
    X64o ia64  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Error: proveedor OLEDB de Microsoft para drivers ODBC: [Microsoft] [administrador de controladores ODBC] no se encontró el nombre del origen de datos y no se especificó el controlador predeterminado  Error: proveedor OLEDB de Microsoft para drivers ODBC: [Microsoft] [administrador de controladores ODBC] no se encontró el nombre del origen de datos y no se especificó el controlador predeterminado

Cadena de conexión 3

conex. Open "seguridad integrada = SSPI; origen de datos =<ServerName>; Initial Catalog = Master;" Nota: Usar la autenticación integrada sin especificar SQLOLEDB.
Plataforma  Windows 2003 SP2  Windows 2003 SP2 con 64 bit MSDASQL instalado  Vista SP1  Windows7
    X64 o IA64  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Componentes de servicio de Microsoft OLE DB: la operación OLE DB de varios pasos generó errores. Compruebe el valor de estado de la BD de OLE, si está disponible. No se ha realizado ningún trabajo  Componentes de servicio de Microsoft OLE DB: la operación OLE DB de varios pasos generó errores. Compruebe el valor de estado de la BD de OLE, si está disponible. No se ha realizado ningún trabajo

Cadena de conexión 4

conex. Open "driver = {SQL Server}; Server = ServerName; Database = Master; Trusted_Connection = true ": Nota uso de la autenticación integrada sin especificar el proveedor de MSDASQL.
Plataforma  Windows 2003 SP2  Windows 2003 SP2 con 64 bit MSDASQL instalado  Vista SP1  Windows7
    X64 o IA64  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Error: ADODB. Conexión: el proveedor no se especifica y no hay ningún proveedor predeterminado designado  Intentos  Intentos

Referencias

  • 195913 Cómo generar cadenas de conexión ODBC & OLEDB con vínculos de datos
  • 193332 ARCHIVO: MDACCON. EXE con cadenas de conexión con ODBC/OLEDB/ADO/RDS
  • 942976 La versión de 32 bits de la herramienta de administración de ODBC y la versión de 64 bits de la herramienta de administración de ODBC muestran los DSN de usuario de 32-bit y los DSN de usuario de 64 en una versión de 64 bits del sistema operativo Windows.
  • 957570 El proveedor de Microsoft OLE DB para Jet y el controlador ODBC de Microsoft Access solo están disponibles en las versiones de 32 bits
  • Guía básica de tecnologías de acceso a datos (http://msdn.Microsoft.com/en-us/library/ms810810.aspx)

DECLINACIÓN DE RESPONSABILIDADES


NI MICROSOFT NI SUS PROVEEDORES GARANTIZAN LA IDONEIDAD, FIABILIDAD O EXACTITUD DE LA INFORMACIÓN CONTENIDA EN LOS DOCUMENTOS Y GRÁFICOS RELACIONADOS PUBLICADOS EN ESTE SITIO WEB (LOS "MATERIALES") PARA CUALQUIER PROPÓSITO. LOS MATERIALES PUEDEN INCLUIR IMPRECISIONES TÉCNICAS O ERRORES TIPOGRÁFICOS Y SE PUEDEN MODIFICAR EN CUALQUIER MOMENTO SIN PREVIO AVISO. EN LA MEDIDA EN QUE LO PERMITAN LAS LEYES VIGENTES, MICROSOFT O SUS PROVEEDORES RENUNCIAN E EXCLUYEN TODAS LAS DECLARACIONES, GARANTÍAS Y CONDICIONES, YA SEAN EXPRESAS, IMPLÍCITAS O ESTATUTARIAS, INCLUIDAS PERO NO LIMITADAS A LAS REPRESENTACIONES, GARANTÍAS O CONDICIONES DE TÍTULO, AUSENCIA DE INFRACCIÓN, CONDICIÓN O CALIDAD SATISFACTORIA, COMERCIABILIDAD E IDONEIDAD PARA UN FIN DETERMINADO, CON RESPECTO A LOS MATERIALES.