Saltar al contenido

Diferencias entre controladores para controladores ODBC

Luego de mucho luchar hemos hallado el arreglo de esta pregunta que tantos usuarios de nuestra web han tenido. Si tienes algo más que compartir puedes compartir tu conocimiento.

Solución:

Controlador ODBC para SQL Server

ODBC es la principal API nativa de acceso a datos para aplicaciones escritas en C, C ++, PHP, Python y otras para conectarse a SQL Server.

Se usa ampliamente en escenarios de integración de datos.

Además, es preferible si está desarrollando una aplicación en Windows y la está implementando en Linux.

servidor SQL

El nombre completo de SQL Server Driver es SQL Server ODBC Driver. Es un controlador antiguo desde sql 2000. Puede usarlo para conectarse a SQL Server 2016, pero no podrá acceder a las nuevas características y funcionalidades de SQL Server 2016

Cliente nativo de SQL Server

SQL Server Native Client contiene el proveedor SQL OLE DB y el controlador SQL ODBC para admitir la conectividad nativa a SQL Server y admitir todas las funciones de SQL Server 2016. Es el mejor en el entorno de Windows.

RDA de cliente nativo de SQL Server

El acceso remoto a datos (RDA) en Microsoft SQL Server Compact 3.5 permite que una aplicación acceda a datos desde una tabla de base de datos remota de SQL Server.

También puede almacenar, leer y actualizar esos datos en SQL Server Compact 3.5 y luego actualizar la tabla original de SQL Server.

RDA se eliminará en la versión futura, así que evite usarlo.

Por lo tanto, elija el controlador sql según los criterios anteriores.

Controlador ODBC de Microsoft para SQL Server (MSODBCSQL)

Este controlador se anunció en 2013 como el sucesor de SQL Server Native Client. Está instalado con versiones recientes de SQL Server. Hay instaladores independientes para clientes. El historial de controladores para Microsoft SQL Server recomienda este controlador en lugar de “SQL Server” y “SQL Server Native Client” para ODBC. Funciones agregadas sobre “SQL Server Native Client”: agrupación de conexiones con reconocimiento de controladores, resistencia de la conexión, ejecución asincrónica (sondeo), compatibilidad con Always Encrypted, compatibilidad reciente con SQL Server (incluido Azure SQL) y más sistemas operativos compatibles (incluidos Linux y macOS ). Puede seguir el desarrollo actual en el blog de SQL Server (con publicaciones anteriores en el blog del equipo de SQLNCli).

Driver=ODBC Driver XX for SQL Server (XX reemplazado por la versión del controlador. Consulte Requisitos del sistema, instalación y archivos de controladores).

Cliente nativo de SQL Server (SQLNCLI)

Introducido con SQL Server 2005 y enviado con SQL Server (también instalable a través de sqlncli.msi de los paquetes de características de SQL Server). Funciones agregadas sobre “SQL Server”: múltiples conjuntos de resultados activos (MARS), tipos de datos definidos por el usuario (UDT), notificaciones de consultas, aislamiento de instantáneas y compatibilidad con tipos de datos XML. La versión para SQL Server 2008 también agregó soporte para los nuevos tipos de fecha y hora.

Driver=SQL Server Native Client (SQL Server 2005)
Driver=SQL Server Native Client 10.0 (SQL Server 2008)
Driver=SQL Server Native Client 11.0 (SQL Server 2012 y posterior)

RDA de cliente nativo de SQL Server

El acceso remoto a datos (RDA) es una función de SQL Server Compact que “permite que una aplicación acceda a datos desde una tabla de base de datos de SQL Server remota”. No puedo encontrar mucha documentación, pero parece que este controlador estaba destinado a admitir escenarios de replicación con Compact Edition.

SQL Server (SQLSRV32)

Incluido en Microsoft Data Access Components (MDAC) (ahora llamado Windows Data Access Components (WDAC)). Este controlador está disponible de forma predeterminada en Windows (desde 98 y NT 4.0).

Driver=SQL Server

Para verificar qué controladores ha instalado, inicie un PowerShell (32/64 bit, según la arquitectura de controlador que desee usar) y ejecute

OLEDB

(New-Object System.Data.OleDb.OleDbEnumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION

ODBC

Get-OdbcDriver | select Name,Platform

Descripción general

https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc

Hay tres generaciones distintas de controladores ODBC de Microsoft para SQL Server.

  • El primer controlador ODBC de “SQL Server” todavía se envía como parte de los componentes de acceso a datos de Windows. Está No se recomienda utilizar este controlador para nuevos desarrollos.
  • A partir de SQL Server 2005, SQL “Server Native Client 10.x / 11.x / 12.x” incluye una interfaz ODBC y es el controlador ODBC que se envió con SQL Server 2005 a través de SQL Server 2012. Es No se recomienda utilizar este controlador para nuevos desarrollos.
  • Después de SQL Server 2012, el controlador ODBC de Microsoft para SQL Server es el controlador que se actualiza con las funciones más recientes del servidor en el futuro.

servidor SQL

Es el antiguo del paquete MDAC (https://support.microsoft.com/en-us/help/899456) que ahora (desde XP / 2003) viene con el sistema operativo Windows. https://docs.microsoft.com/en-us/sql/connect/connect-history#mdacwdac-releases

https://docs.microsoft.com/en-us/sql/relational-databases/native-client/applications/updating-an-application-to-sql-server-native-client-from-mdac

… comenzando con Windows Vista, los componentes de acceso a datos ahora se denominan Componentes de acceso a datos de Windows o Windows DAC). Aunque ambos proporcionan acceso a datos nativos a las bases de datos de SQL Server, SQL Server Native Client ha sido diseñado específicamente para exponer las nuevas características de SQL Server 2005 (9.x), mientras que al mismo tiempo mantiene la compatibilidad con versiones anteriores.


Cliente nativo de SQL Server

https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc

SQL Server Native Client es una biblioteca independiente que se utiliza tanto para OLE DB como para ODBC. SQL Server Native Client (a menudo abreviado SNAC) se incluyó en SQL Server 2005 a 2012. SQL Server Native Client se puede utilizar para aplicaciones que necesitan aprovechar las nuevas características introducidas en SQL Server 2005 a través de SQL Server 2012. (Los componentes de acceso a datos de Microsoft / Windows no se actualizan para estas nuevas características en SQL Server). Para nuevas características más allá de SQL Server 2012, SQL Server Native Client no se actualizará. Cambie al controlador Microsoft ODBC para SQL Server o al controlador Microsoft OLE DB para SQL Server si desea aprovechar las nuevas funciones de SQL Server en el futuro.


RDA de cliente nativo de SQL Server

Viene con .NET Compact Framework 3.5


Controlador ODBC para SQL Server

https://docs.microsoft.com/en-us/sql/connect/connect-history#odbc

Después de SQL Server 2012, el controlador ODBC principal para SQL Server ha sido desarrollado y lanzado como el controlador ODBC de Microsoft para SQL Server.


MSOLEDBSQL – Controlador Microsoft OLE DB para SQL Server

Este controlador ha quedado obsoleto y luego no se utiliza:

https://docs.microsoft.com/en-us/sql/connect/oledb/oledb-driver-for-sql-server#3-microsoft-ole-db-driver-for-sql-server-msoledbsql

El nuevo proveedor OLE DB se denomina controlador Microsoft OLE DB para SQL Server (MSOLEDBSQL). El nuevo proveedor se actualizará con las funciones de servidor más recientes en el futuro. Para utilizar el nuevo controlador Microsoft OLE DB para SQL Server en aplicaciones existentes, debe planear convertir sus cadenas de conexión de SQLOLEDB o SQLNCLI a MSOLEDBSQL. https://blogs.msdn.microsoft.com/sqlnativeclient/2018/03/30/released-microsoft-ole-db-driver-for-sql-server/


Resumen

Intente utilizar los controladores preparados para el futuro:

  • ODBC: https://docs.microsoft.com/en-us/sql/connect/odbc/bug-fixes
  • OLEDB: https://docs.microsoft.com/en-us/sql/connect/oledb/release-notes-for-oledb-driver-for-sql-server

valoraciones y reseñas

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *