Microsoft Open Database Connectivity (ODBC) es una interfaz de programación de aplicaciones (API) que está diseñada para poder acceder a datos desde un sistema diferente de administración de bases de datos (DBMS). ODBC está diseñado para poder almacenar toda una serie de datos relacionales.
En este artículo, vamos a explicar cómo poder instalar los controladores ODBC adecuados para SQL Server, cómo configurar ODBC para poder conectarse a una instancia de SQL Server y cómo generar y configurar un servidor vinculado de esta manera será utilizado el controlador ODBC y el proveedor MSDASQL para consultar las tablas en una instancia de SQL Server.
En el siguiente diagrama se puede explicar el flujo de conexión a una base de datos de SQL Server usando el proveedor MSDASQL y un controlador ODBC de SQL Server.
Este mecanismo MSDASQL permite que las aplicaciones del cliente de OLE DB usen controladores ODBC para conectarse a una fuente de datos. Por esta razón, el proveedor transforma las llamadas OLE DB entrantes en llamadas ODBC y las transfiere al controlador ODBC especificado. Después de este procedimiento, se recuperan los resultados del controlador ODBC y les da formato en las estructuras específicas de OLE DB a las que el consumidor tiene acceso.
La instalación y configuración de los controladores ODBC de Microsoft para SQL Server
Desde este enlace, es importante verificar que se pueden descargar e instalar los controladores ODBC de Microsoft para SQL Server. Por ello dependiendo de la versión del sistema operativo Windows (32 bits o 64 bits) que se use, hay dos versiones de los controladores ODBC de Microsoft para SQL Server que se pueden instalar:
- x64 \ msodbcsql.msi es para la versión de Windows de 64 bits
- x86 \ msodbcsql.msi es para la versión de Windows de 32 bits
En el caso de que se intente instalar una versión incorrecta de los controladores ODBC de Microsoft para SQL Server (por ejemplo, x86 \ msodbcsql.msi en la versión de Windows de 64 bits), aparecerá el siguiente mensaje de advertencia:
Por ello, instalemos los controladores Microsoft ODBC apropiados para SQL Server. El proceso de instalación de los controladores ODBC de Microsoft para SQL Server es muy simple y directo. Para este fin, haga doble clic en el archivo (por ejemplo, msodbcsql.msi) y aparecerá la pantalla de bienvenida:
Recuerde hacer clic en el botón Siguiente para continuar con la instalación. Debajo de la ventana del Acuerdo de licencia, lea los términos de la licencia y, si está de acuerdo, debe marcar el botón de radio “Acepto los términos del acuerdo de licencia” y haga clic en el botón Siguiente:
En la ventana Selección de características, se debe seleccionar el elemento Componentes del cliente y haga clic en el botón Siguiente:
Luego haga clic en el botón Instalar en la ventana Listo para instalar el programa para luego comenzar la instalación de los controladores ODBC de Microsoft para SQL Server:
En unos segundos, se puede ver que la instalación de los controladores ODBC de Microsoft para SQL Server finaliza. Luego haga clic en el botón Finish para cerrar los controladores de Microsoft ODBC para la ventana de instalación de SQL Server:
Recuerde que para confirmar que los controladores ODBC de Microsoft para SQL Server están instalados, vaya al Panel de control y en el Programa y características, debe buscar los controladores ODBC de Microsoft para SQL Server:
O también abra el cuadro de diálogo Administrador de fuente de datos ODBC:
En la pestaña Controladores, compruebe si el controlador ODBC para el controlador de SQL Server existe:
Verifique que en el cuadro de diálogo Administrador de fuente de datos ODBC se utiliza para crear y administrar fuentes de datos ODBC. En el cuadro de diálogo el Administrador de fuente de datos ODBC es un componente de Windows.
Para abrir el cuadro de diálogo Administrador de fuentes de datos ODBC, vaya al menú Inicio en Herramientas administrativas de Windows, elija Fuentes de datos ODBC:
En el Panel de control, en Herramientas administrativas, se debe elegir Fuentes de datos ODBC apropiadas:
O de manera más simple, en el cuadro de búsqueda de Windows, se debe escribir la palabra Orígenes de datos ODBC:
Y de la lista de búsqueda, elija apropiado:
Entonces como se puede observar, hay dos versiones de los cuadros de diálogo del Administrador de fuentes de datos ODBC: una es el Administrador de fuentes de datos ODBC (32 bits) y la otra es la versión del Administrador de fuentes de datos ODBC (64 bits). Dado que Windows 8 es el sistema operativo, hay dos cuadros de diálogo Administrador de orígenes de datos ODBC, uno es para Orígenes de datos ODBC de 32 bits y el otro para Fuentes de datos ODBC de 64 bits.
Nota: Verifique que si se utiliza el cuadro de diálogo Administrador de fuentes de datos ODBC (64 bits) para crear la conexión con una fuente de datos de 32 bits (por ejemplo, SQL Server de 32 bits), puede aparecer el siguiente error cuando se crea un servidor vinculado:
El servidor vinculado ha sido creado pero falló una prueba de conexión. ¿Quieres mantener el servidor vinculado?
INFORMACIÓN ADICIONAL:
Se produjo una excepción al ejecutar una instrucción o lote Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Recuerde que no se puede inicializar el objeto de origen de datos del proveedor de OLE DB “MSDASQL” para el servidor vinculado “SERVERX86”.
El proveedor OLE DB “MSDASQL” para el servidor vinculado “SERVERX86” devolvió el mensaje “[Microsoft] [ODBC Driver Manager] El DSN especificado contiene una discrepancia en la arquitectura entre el controlador y la aplicación”. (Microsoft SQL Server, Error: 7303)
Para crear un nuevo origen de datos ODBC de SQL Server, se debe presionar el botón Agregar en la pestaña DSN de usuario o DSN de sistema. Ambas pestañas se utilizarán para crear una conexión a datos ODBC origen, la diferencia es que la pestaña DSN de usuario mostrará el origen de datos solo para un usuario actualmente registrado en esta computadora. Al crear fuentes de datos bajo el DSN del sistema, este estará disponible para cualquier usuario que haya iniciado sesión en esta computadora.
Para los temas y a los efectos de este artículo, en el origen de datos ODBC de SQL Server se creará en la pestaña DSN del sistema. Para comenzar a crear la conexión, presione el botón Agregar:
Esto abrirá el cuadro de diálogo Crear nuevo origen de datos, de la presente lista, elija un controlador para el que desea configurar un origen de datos. En nuestro caso, ese será el controlador ODBC 13 para SQL Server:
Después de haber seleccionado el controlador deseado, haga clic en el botón Finalizar, esto permitirá abrir el cuadro de diálogo Crear una nueva fuente de datos para SQL Server:
Bajo el cuadro Nombre, se debe ingresar el nombre de la conexión, el nombre puede ser lo que desee (por ejemplo, TestServer). El cuadro Descripción es opcional y es para una descripción de la fuente de datos. En el campo Servidor, ingrese el nombre de un servidor SQL Server al que desea conectarse (por ejemplo, WIN10 \ SQLEXPRESS):
Si una instancia de SQL Server es la instancia predeterminada, escriba el nombre de la computadora que aloja la instancia de SQL Server (por ejemplo, WIN10). Verifique si SQL Server es una instancia con nombre, escriba el nombre de la computadora y el nombre de la instancia separados por una barra (por ejemplo, WIN10 \ SQLEXPRESS). Caso contrario, aparecerá el siguiente mensaje al probar la conexión de la fuente de datos ODBC de SQL Server y el nombre de la instancia de SQL Server es incorrecto:
Posteriormente y después de configurar el servidor y el nombre de conexión apropiados, presione el botón Siguiente. Por ello en este cuadro de diálogo, se puede especificar cómo conectarse a SQL Server mediante la autenticación de Windows, incluida la autenticación de Active Directory o mediante la autenticación de SQL Server.
Para los efectos de este artículo, se utilizará la autenticación de SQL Server. Es importante que verifique la autenticación con SQL Server usando un ID de inicio de sesión y una contraseña ingresada por el botón de radio del usuario y, en el campo ID de inicio de sesión y contraseña, ingrese las credenciales apropiadas y presione el botón Siguiente:
En este cuadro de diálogo, se debe configurar la base de datos a la que desea conectarse, marcando la casilla Cambiar la base de datos predeterminada para marcar la casilla y, en el cuadro combinado, elija una base de datos desierta.
Es importante ver que durante el cambio de la base de datos predeterminada, puede aparecer el siguiente mensaje:
Esto significa que el enlace de comunicación entre el controlador y la fuente de datos a la que el controlador intentaba conectarse falló.
Si esto ocurre para resolver esto, cierre el cuadro de diálogo Administrador de orígenes de datos ODBC y vuelva a intentar crear una conexión con el origen de datos ODBC.
Si aún eso no tiene éxito, verifique si las canalizaciones con nombre en los Protocolos para SQL Server para las que desea crear una conexión (por ejemplo, SQLEXPRESS) están habilitadas
Es importante recordar y no olvidar reiniciar SQL Server en los Servicios de SQL Server después de habilitar Canalizaciones con nombre para que los cambios tengan efecto.
Es importante asegurarse de que el botón de opción del modo de Autenticación de Windows y SQL Server bajo la pestaña Seguridad del cuadro de diálogo Propiedades del servidor esté marcado:
Además, compruebe si la casilla de verificación Permitir conexiones remotas a este servidor en la pestaña Conexiones está marcada:
Posteriormente después de realizar estos ajustes, en el cuadro Cambiar la base de datos predeterminada a combo, aparecerán las bases de datos disponibles, para ello elija una base de datos (por ejemplo, AdventureWorks2014) y haga clic en el botón Siguiente:
Esto abrirá un diálogo adicional más con más opciones para configurar. Estas opciones se dejarán como están y hacen clic en el botón Finalizar:
Posteriormente luego, al hacer clic en el botón Finalizar, aparecerá la ventana de configuración de Microsoft SQL Server ODBC con la información de configuración que configuramos para la fuente de datos ODBC. Verifique que en la parte inferior de la ventana de configuración de Microsoft SQL Server ODBC, está el botón Probar origen de datos. Al momento de hacer clic en este botón, se puede verificar si la conexión con el origen de datos se estableció correctamente o no:
En el caso de que la conexión con la fuente de datos se establezca con éxito, se verificará que en la ventana Prueba de la fuente ODBC de SQL Server, aparecerá el mensaje “PRUEBAS COMPLETADAS CON ÉXITO”:
Es importante indicar que para confirmar que se creó la conexión de la fuente de datos ODBC, en el cuadro de diálogo Administrador de fuentes de datos ODBC, en la pestaña DSN del sistema, aparecerá el nombre de la fuente de datos ODBC que se creó:
Como eliminar una fuente de datos ODBC
Para eliminar el origen de datos ODBC en el cuadro de diálogo Administrador de orígenes de datos ODBC, seleccione el elemento deseado en la pestaña DSN del usuario o DSN del sistema y haga clic en el botón Eliminar:
Como se puede observar, en la pestaña DSN del sistema, se verificará que el nombre del servidor local está seleccionado, pero el botón Eliminar está desactivado. Cuando esto sucede se debe a que estamos intentando eliminar un DSN del sistema de 32 bits del cuadro de diálogo Administrador de fuente de datos ODBC de 64 bits. Para eliminar el DSN de 32 bits, se debe abrir el cuadro de diálogo Administrador de fuente de datos ODBC de 32 bits y hacer clic en el botón Eliminar:
Ahora, cuando se crea el origen de datos ODBC, vamos a crear y configurar un servidor vinculado utilizando el ODBC.
Creación y configuración de un servidor vinculado mediante el controlador ODBC a través de SQL Server Management Studio
En SQL Server Management Studio (SSMS), se debe ir al Explorador de objetos, luego haga clic con el botón derecho en la carpeta Servidores vinculados y, en el menú contextual, elija el comando Nuevo servidor vinculado:
Esto abrirá el cuadro de diálogo Nuevo servidor vinculado:
Verifique que en la pestaña General del cuadro de diálogo Nuevo servidor vinculado en el cuadro de texto Servidor vinculado, ingrese el nombre de un nuevo servidor vinculado (por ejemplo, ODBC_SERVER). en el cuadro combinado Proveedor, seleccione el elemento Proveedor Microsoft OLE DB para controladores ODBC. Recuerde que el nombre del producto es un identificador y se puede usar cualquier valor apropiado para este campo (por ejemplo, TestSarever). Es importante verificar que la fuente de datos debe coincidir con una fuente de datos del sistema definida en la pestaña DSN del sistema del cuadro de diálogo Administrador de fuentes de datos ODBC:
Debajo de la pestaña Seguridad, se debe elegir el botón de opción Realizar con este contexto de seguridad, luego debe ingresar el nombre de usuario y la contraseña para una cuenta de usuario existente en la instancia de TestServer que fue elegida como nuestra fuente de datos:
Recuerde que para obtener más información sobre la pestaña Seguridad y Opciones, consulte la página Cómo crear y configurar un servidor vinculado en SQL Server Management Studio
Después de que, la configuración de seguridad ha terminado, se debe presionar el botón Aceptar en el cuadro de diálogo Nuevo servidor vinculado para crear un nuevo servidor vinculado. Un servidor vinculado recién creado aparecerá en la carpeta Servidores vinculados:
Para probar si la conexión con el origen de datos ODBC se estableció correctamente, haga clic con el botón derecho en el servidor vinculado ODBC_SERVER y, desde el menú contextual, elija el comando Probar conexión:
Si se establece correctamente una conexión con la fuente de datos ODBC, luego aparecerá el siguiente cuadro de mensaje de información:
En caso de que la conexión con un servidor vinculado se haya creado correctamente, pero en la carpeta Catálogos del servidor vinculado, solo se muestra la base de datos predeterminada:
Para resolver esto, cierre SQL Server Management Studio y ejecútelo nuevamente, pero esta vez como administrador:
Otra forma de resolución es ir al Administrador de configuración de SQL Server:
Desde el cuadro de diálogo Administrador de configuración de SQL Server, seleccione SQL Server para el que se ha creado un servidor vinculado:
En el menú contextual, elija la opción Propiedades:
En la pestaña Iniciar sesión del cuadro de diálogo Propiedades de SQL Server, se debe elegir el botón de opción Cuenta incorporada y, en el cuadro combinado, seleccione el elemento Sistema local:
En el cuadro de diálogo Propiedades de SQL Server, haga clic en el botón Aplicar y presione el botón Sí en el cuadro de mensaje de advertencia Confirmar cambio de cuenta:
Ahora, abra SQL Server Manage Studio como administrador y debajo de la carpeta Catálogos, deberían aparecer las bases de datos:
Si el problema aun persistiera, póngase en contacto con el servicio de resolución de problemas de MSDN
Creación y configuración de un servidor vinculado ODBC utilizando T-SQL
Para crear un servidor vinculado utilizando T-SQL, ejecute el siguiente código:
1 2 3 4 5 6 7 8 |
EXEC master.dbo.sp_addlinkedserver @server = N'ODBC_SERVER', @srvproduct=N'TestServer', @provider=N'MSDASQL', @datasrc=N'TestServer' GO /* For security reasons, the linked server remote logins password is changed with ######## */ EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ODBC_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'Ben',@rmtpassword='########' GO |
Nota:
@rmtpassword es la contraseña del usuario remoto que se usa para conectarse a un servidor remoto, por razones de seguridad, la contraseña se cambia con “########”.
Es importante indicar que se puede encontrar más información sobre cómo crear y configurar un servidor vinculado a SQL Server usando T-SQL en la página Cómo crear, configurar y eliminar un servidor vinculado a SQL Server usando la página Transact-SQL.
En otros artículos de esta serie se puede encontrar información de:
- Cómo crear y configurar un servidor vinculado en SQL Server Management Studio
- Cómo crear, configurar y eliminar un servidor vinculado a SQL Server usando Transact-SQL
- Cómo consultar datos de Excel utilizando servidores vinculados a SQL Server
- Cómo crear un servidor vinculado a una base de datos SQL de Azure