Prueba de la conectividad de OLE DB con SQL Server mediante un archivo UDL

Se aplica a: SQL Server

Nota:

Antes de empezar a solucionar problemas, consulte los requisitos previos y siga la lista de comprobación.

En este artículo se describe cómo crear un archivo de Universal Data Link (UDL) y usar distintos proveedores para probar la conexión a una instancia de SQL Server a través del archivo.

Creación de un archivo UDL

Nota:

Un archivo UDL permite probar la conectividad de los proveedores de vinculación e inserción de objetos (OLE DB) con cualquier base de datos back-end independientemente de una aplicación completa. Guardar un archivo UDL genera un cadena de conexión bien formado, que puede usar para ayudar a compilar el cadena de conexión de una aplicación o comprobar cómo establecer propiedades diferentes. Para obtener la cadena, abra el archivo en el Bloc de notas.

Para crear un archivo UDL para probar el proveedor OLE DB, siga estos pasos:

  1. Para mostrar extensiones de archivo en Explorador de archivos, siga estos pasos:

    1. Seleccione Inicio y escriba Explorador de archivos Opciones.

    2. Seleccione la pestaña Ver , desactive la opción Ocultar extensiones para tipos de archivo conocidos y, a continuación, seleccione Aceptar.

  2. Vaya a la carpeta donde desea crear un archivo UDL. Por ejemplo, c:\temp.

  3. Cree un nuevo archivo de texto (como sqlconn.txt) y cambie el nombre de la extensión de .txt a .udl. (Seleccione en el mensaje de advertencia sobre cómo cambiar la extensión de nombre de archivo).

    También puede usar el siguiente script de PowerShell para crear sqlconn.udl en la carpeta %temp% .

    clear
    $ServerName = "(local)"
    $UDL_String = "[oledb]`r`n; Everything after this line is an OLE DB initstring`r`nProvider=MSOLEDBSQL.1;Integrated Security=SSPI;Persist Security Info=False;User ID=`"`";Initial Catalog=`"`";Data Source=" + $ServerName + ";Initial File Name=`"`";Server SPN=`"`";Authentication=`"`";Access Token=`"`""
    Set-Content -Path ($env:temp + "\sqlconn.udl") -Value $UDL_String -Encoding Unicode
    
    #open the UDL
    Invoke-Expression ($env:temp + "\sqlconn.udl")
    

Prueba de la conexión mediante el proveedor OLE DB de SQL Server

El proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) es el proveedor más común. Está integrado en Windows y puede conectarse a cualquier versión de SQL Server que no esté configurada para requerir enlaces de canal TLS 1.2.

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) es el proveedor OLE DB de SQL Server más reciente. El proveedor tiene todas las características nuevas, como TLS 1.2, MultiSubnetFailover y las opciones de autenticación de Azure. Se recomienda este proveedor para bases de datos de SQL Server más recientes.

Para probar la conexión mediante el proveedor OLE DB de SQL Server, siga estos pasos:

  1. Abra el archivo .udl .

  2. Seleccione la pestaña Proveedor, seleccione el SQL Server proveedor OLE DB que use en la aplicación y, a continuación, seleccione Siguiente.

  3. En la pestaña Conexión , especifique el protocolo de red, el nombre de dominio completo (FQDN) y el número de puerto en Seleccionar o escriba un nombre de servidor. Por ejemplo, tcp:SQLProd01.contoso.com,1433.

    Nota:

    Esta forma de escribir el nombre del servidor evita algunos problemas comunes (como los problemas del servicio SQL Server Browser) que podrían interferir con una conexión.

  4. Escriba otras propiedades en la pestaña Conexión .

    Nota:

    La mayoría de las pruebas de conexión no requieren que escriba un nombre de base de datos.

  5. Seleccione Probar conexión.

También puede seleccionar otras pestañas y explorar otras opciones de configuración del controlador. Cuando finalice la prueba de conexión, seleccione Aceptar para guardar el cadena de conexión en un archivo.

Prueba de la conexión mediante el proveedor OLE DB de Microsoft para controladores ODBC

Para probar los controladores open database connectivity (ODBC) mediante el proveedor OLE DB de Microsoft para controladores ODBC, siga estos pasos:

  1. Abra el archivo .udl .

  2. Seleccione Proveedor Proveedor>Microsoft OLE DB para controladores> ODBCSiguiente.

  3. En la pestaña Conexión , puede usar uno de los métodos siguientes para especificar el origen de datos y, a continuación, escribir otras propiedades.

    • Escriba un valor en el campo Usar nombre del origen de datos .

    • Escriba un cadena de conexión sin DSN como Driver={ODBC Driver 17 for SQL Server};Server=SQLProd01;Database=Northwind;Trusted_Connection=Yes.

  4. Seleccione Probar conexión.

Prueba de proveedores de 32 bits en máquinas de 64 bits

Para probar la conexión de proveedores de 32 bits en sistemas operativos de 64 bits, siga estos pasos:

  1. En la ventana símbolo del sistema , ejecute el siguiente comando para abrir el símbolo del sistema de 32 bits:

    %windir%\SysWoW64\cmd.exe
    
  2. Ejecute el siguiente comando para abrir el archivo UDL:

    c:\temp\test.udl
    
  3. Si ve proveedor OLE DB de Microsoft Jet 4.0 en la pestaña Proveedor , significa que cargó correctamente el cuadro de diálogo de 32 bits y ahora puede seleccionar el proveedor de 32 bits para probar la conexión.

Sugerencias para solucionar problemas de conexión

Puede usar los métodos siguientes para comprobar por qué se produce un error en la conexión.

  • Cambie el proveedor.
  • Cambie el protocolo. Por ejemplo, tcp:, np: o lpc:.
  • Pruebe la conexión con o sin el sufijo de dominio completo o solo con la dirección IP.
  • Quite el número de puerto y use el nombre de instancia para probar el servicio SQL Server Browser.

Para cada uno de los métodos anteriores, si una combinación funciona y otra produce un error, podría dar una pista sobre el problema. Por ejemplo, cuando se usa el segundo método, si lpc: funciona y tcp: no, intente habilitar el protocolo TCP en Administrador de configuración de SQL Server.

Vea también

Configuración de Universal Data Link (UDL)

Nota:

Si este artículo no ha resuelto el problema, puede consultar Solución de problemas de conectividad en SQL Server para obtener más ayuda.