Historial de controladores para Microsoft SQL Server
En esta página se describen las tecnologías de conexión de datos históricos de Microsoft para conectarse a SQL Server.
ODBC
Hay tres generaciones distintas de proveedores de controladores OLE DB de Microsoft para SQL Server. El primer controlador ODBC "SQL Server" todavía se suministra como parte de Microsoft Data Access Components. Este controlador no se recomienda para el nuevo desarrollo. A partir de SQL Server 2005, SQL Server Native Client incluye una interfaz ODBC, que es el controlador ODBC que se incluye con SQL Server 2005 hasta SQL Server 2012. Este controlador tampoco se recomienda para el nuevo desarrollo. Tras SQL Server 2012, el Microsoft ODBC Driver for SQL Server es el controlador que se actualiza con las características de servidor más recientes en el futuro.
SQL Server Native Client
SQL Server Native Client era una biblioteca independiente que se usa con OLE DB y ODBC. SQL Server Native Client (a menudo abreviado SNAC) se incluye con SQL Server 2005 hasta 2012. SQL Server Native Client se puede usar para las aplicaciones que han de aprovechar las nuevas características introducidas en SQL Server 2005 hasta SQL Server 2012. (Microsoft/Windows Data Access Components no se actualizan para estas nuevas características de SQL Server). Para las características nuevas posteriores a SQL Server 2012, no se actualizará SQL Server Native Client. SQL Server Native Client (SNAC) no se incluye con: - SQL Server 2022 (16.x) y versiones posteriores. El SQL Server Management Studio 19 y versiones posteriores SQL Server Native Client (SQLNCLI o SQLNCLI11) y el proveedor Microsoft OLE DB heredado para SQL Server (SQLOLEDB) no se recomiendan para el desarrollo de aplicaciones nuevas. Para los nuevos proyectos, use uno de los siguientes controladores: Microsoft ODBC Driver for SQL Server - Microsoft OLE DB Driver (MSOLEDBSQL) for SQL ServerPara SQLNCLI que se incluye como componente de SQL Server Motor de base de datos (versiones 2012 a 2019), consulte esta excepción de ciclo de vida de soporte técnico.
Para obtener la documentación completa del SQL Server Native Client, consulte la documentación de SQL Server Native Client.
Controlador ODBC de Microsoft para SQL Server
Tras SQL Server 2012, el controlador ODBC principal de SQL Server se ha desarrollado y publicado como Microsoft ODBC Driver for SQL Server. Para más información, consulte la documentación de Microsoft ODBC Driver for SQL Server.
OLE DB
Hay tres generaciones distintas de proveedores de OLE DB de Microsoft para SQL Server. El primer "proveedor OLE DB de Microsoft para SQL Server" (SQLOLEDB) todavía se suministra como parte de los Componentes de Windows Data Access. Este proveedor no se actualizará con las características nuevas, y no se recomienda usar este controlador para nuevos desarrollos. A partir de SQL Server 2005, SQL Server Native Client (SNAC) incluye una interfaz del proveedor OLE DB (SQLNCLI), que es el proveedor OLE DB que se incluye con SQL Server 2005 hasta SQL Server 2017. Se anunció como en desuso en 2011, y no se recomienda usar este controlador para nuevos desarrollos. En 2017, la tecnología de acceso a datos OLE DB dejó de estar en desuso y se anunció una nueva versión planeada para 2018. El nuevo Controlador Microsoft OLE DB para SQL Server actualmente se mantiene y recibe soporte.
ADO.NET
ADO.NET es un conjunto de clases que define una interfaz para acceder a cualquier tipo de origen de datos, tanto relacionales como no relacionales. ADO.NET se presentó con Microsoft .NET Framework y se sigue mejorando y manteniendo en .NET. La biblioteca de SqlClient es un proveedor de datos de ADO.NET que proporciona conectividad a orígenes de datos de SQL Server y Azure SQL.
System.Data.SqlClient
System.Data.SqlClient se incluye como parte de .NET Framework y .NET Core. Hasta 2019, recibía actualizaciones de características periódicas. Con los anuncios del futuro de .NET Core, .NET Framework y .NET en general, el desarrollo de SqlClient necesitaba cambiar a un paquete externo a .NET. System.Data.SqlClient todavía se admite, pero no recibe actualizaciones de características y no se recomienda para el nuevo desarrollo.
Microsoft.Data.SqlClient
Presentado en 2019, el proveedor de datos SqlClient de Microsoft para SQL Server es un proveedor de datos de ADO.NET que admite aplicaciones destinadas a .NET Framework, .NET Core y .NET Standard. Para obtener más información sobre el espacio de nombres Microsoft.Data.SqlClient, vea Microsoft ADO.NET para SQL Server.
JDBC
Microsoft JDBC Driver para SQL Server
Presentado en el año 2000, Microsoft JDBC Driver para SQL Server se sigue mejorando y manteniendo. Era de código abierto en 2016. Para obtener la información más reciente, incluido cómo descargar el controlador, consulte Introducción al controlador JDBC.
PHP
Controladores de Microsoft para PHP para SQL Server
Presentados en 2009 como proyecto de código abierto, los controladores de Microsoft para PHP para SQL Server se siguen mejorando y manteniendo. Para obtener la información más reciente, incluido cómo descargar el controlador PHP, consulte Controladores de Microsoft para PHP para SQL Server.
Node.js
Controlador de Microsoft para Node.js para SQL Server
El controlador de Microsoft para Node.js para SQL Server permite que las aplicaciones de Node.js en Microsoft Windows y Microsoft Azure tengan acceso a Microsoft SQL Server y Microsoft Azure SQL Database. Las iniciativas de desarrollo ya no se centran en este controlador. No se recomienda crear aplicaciones con el controlador de Microsoft para Node.js para SQL Server.
Para obtener más información sobre el controlador de Microsoft para Node.js para SQL Server, consulte WindowsAzure/node-sqlserver.
Tedious
Microsoft actualmente contribuye y admite el módulo Tedious de código abierto de Node.js para la conectividad a SQL Server mediante JavaScript. Para más información, consulte Node.js Driver para SQL Server.
Microsoft o Windows Data Access Components
Microsoft/Windows Data Access Components (MDAC/WDAC) se suministran y admiten con Windows para la compatibilidad con versiones anteriores de aplicaciones y no forman parte de la pila de tecnología de SQL Server actual. No se agregarán características nuevas a los componentes de MDAC/WDAC y no se recomienda su uso en el desarrollo de aplicaciones nuevas.
A los efectos de este documento, puede dividir la pila de MDAC/WDAC en los componentes siguientes, en función de la tecnología y los productos:
- ADO (ADOMD y ADOX incluidos)
- OLE DB (incluidos OLE DB Core Services, el proveedor OLE DB para SQL Server, el proveedor OLE DB para Oracle, el proveedor OLE DB para controladores ODBC, el proveedor de formas de datos y el proveedor de datos remotos)
- ODBC (incluidos el administrador de controladores ODBC, el controlador ODBC de SQL y el controlador ODBC para Oracle)
Componentes MDAC/WDAC
MDAC/WDAC incluyen estos componentes:
- ODBC: La interfaz de conectividad abierta de bases de datos (ODBC) de Microsoft es una interfaz del lenguaje de programación C que permite a las aplicaciones acceder a datos de diversos tipos de sistemas de administración de bases de datos (DBMS). Las aplicaciones que usan esta API solo tienen acceso a los orígenes de datos relacionales.
- OLE DB: OLE DB es un conjunto de interfaces COM para acceder a datos de diversos tipos de almacenes de datos. Los proveedores OLE DB existen para acceder a datos de bases de datos, sistemas de archivos, almacenes de mensajes, servicios de directorio, flujos de trabajo y almacenes de documentos.
- ADO: Objetos de datos ActiveX (ADO) ofrece un modelo de programación general. Aunque un poco menos eficaz que la codificación que OLE DB u ODBC directamente, ADO es sencillo de aprender y usar. Como tal, no puede usarse en lenguajes de script, como JScript o Visual Basic Scripting Edition (VBScript).
- ADOMD: La multidimensional de ADO (ADOMD) se va a usar con proveedores de datos multidimensionales, como el proveedor OLAP de Microsoft, también conocido como proveedor de Microsoft Analysis Services. No se han realizado mejoras importantes en las características desde MDAC 2.0.
- ADOX: Las extensiones de ADO para lenguaje de definición de datos y seguridad (ADOX) permiten la creación y modificación de definiciones de una base de datos, una tabla, un índice o un procedimiento almacenado. Se puede usar ADOX con cualquier proveedor. El proveedor OLE DB de Microsoft Jet proporciona compatibilidad total con ADOX, mientras que el proveedor OLE DB de Microsoft SQL Server ofrece compatibilidad limitada.
- Bibliotecas de red de Microsoft SQL Server: Las bibliotecas de red de SQL Server permiten a SQLOLEDB y SQLODBC comunicarse con la base de datos de SQL Server. Las siguientes bibliotecas de red SQL Server han quedado en desuso en las versiones de MDAC/WDAC: Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet y RPC. TCP/IP y las canalizaciones con nombre seguirán siendo compatibles y estarán disponibles en el sistema operativo Windows de 64 bits.
- MSDASQL: El proveedor OLE DB de Microsoft para ODBC (MSDASQL) permite a las aplicaciones que se basan en OLE DB y ADO (que OLEDB usa internamente) acceder a los orígenes de datos a través de un controlador ODBC. MSDASQL es un proveedor OLEDB que se conecta a ODBC, en lugar de a una base de datos. Consiste en un puente desde OLE DB a un controlador ODBC cuando no existe ningún proveedor OLE DB directo para un origen de datos. MSDASQL se suministra con el sistema operativo Windows, y Windows Server 2008 y Vista SP1 fueron las primeras versiones de Windows en incluir una versión de 64 bits de la tecnología.
Componentes MDAC/WDAC en desuso
Estos componentes todavía se admiten en la versión actual de MDAC/WDAC, pero podrían quitarse en versiones futuras. Al desarrollar nuevas aplicaciones, Microsoft recomienda evitar el uso de estos componentes. Además, al actualizar o modificar las aplicaciones existentes, quite cualquier dependencia de estos componentes.
SQLOLEDB: El proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB), que admite el acceso a Microsoft SQL Server, ha quedado en desuso. Es posible que no se admita su conectividad con versiones futuras de SQL Server. La capacidad de conectarse a versiones anteriores a SQL Server 7 se quitará del sistema operativo después de Windows 7. Las nuevas aplicaciones deben usar Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL), que admite las nuevas características de SQL Server. Las aplicaciones existentes también deben migrar a Microsoft OLE DB Driver for SQL Server para mejorar el rendimiento, la confiabilidad y la compatibilidad. Para más información, consulte Actualización de una aplicación a OLE DB Driver for SQL Server desde MDAC.
SQLODBC: El controlador ODBC de Microsoft SQL Server (SQLODBC), que admite el acceso a Microsoft SQL Server, ha quedado en desuso. Es posible que no se admita su conectividad con versiones futuras de SQL Server. La capacidad de conectarse a versiones anteriores a SQL Server 7 se quitará del sistema operativo después de Windows 7. Las nuevas aplicaciones deben usar Microsoft ODBC Driver for SQL Server en Windows, que admite nuevas características de SQL Server. Las aplicaciones existentes también deben migrar a Microsoft ODBC Driver for SQL Server para mejorar el rendimiento, la confiabilidad y la compatibilidad. Para obtener información relacionada, consulte Actualización de una aplicación a SQL Server Native Client desde MDAC.
Motor de base de datos Microsoft Jet 4.0: A partir de la versión 2.6, MDAC ya no contiene componentes Jet. En otras palabras, MDAC 2.6, 2.7 y 2.8 no contienen Microsoft Jet, el proveedor OLE DB de Microsoft Jet, los controladores de base de datos de escritorio ODBC ni los objetos de acceso a datos de Jet (DAO).
No hay ninguna versión de 64 bits disponible del motor de base de datos Jet, el controlador OLE DB para Jet, los controladores ODBC para Jet ni los objetos de acceso a datos (DAO) de Jet. Para más información, vea el artículo de Knowledge Base 957570. En las versiones de 64 bits de Windows, las instancias de Jet de 32 bits se ejecutan en el subsistema WOW64 de Windows. Para más información sobre WOW64, consulte la documentación de WOW64 de MSDN. Las aplicaciones nativas de 64 bits no pueden comunicarse con los controladores Jet de 32 bits que se ejecutan en WOW64.
En lugar de Microsoft Jet, Microsoft recomienda usar Microsoft SQL Server Express Edition al desarrollar nuevas aplicaciones que no sean de Microsoft Access y que requieran un almacén de datos relacionales. Estas aplicaciones Jet nuevas o convertidas pueden seguir usando Jet con la intención de usar archivos de Microsoft Office 2003 y versiones anteriores (.mdb y .xls) para el almacenamiento de datos no principal. Sin embargo, para estas aplicaciones, debe planear la migración del motor de base de datos Jet al de Microsoft Access. Puede descargar el motor de base de datos de Microsoft Access, que le permite leer y escribir en archivos ya existentes en Office 2003 (.mdb y .xls) o en los formatos de archivo de Office 2007 (
*.accdb
,*.xlsm
,*.xlsx
y*.xlsb
).Importante
Lea el contrato de licencia para el usuario final de 2007 Office System para conocer las limitaciones de uso específicas.
Nota
Las aplicaciones de SQL Server también pueden acceder a 2007 Office System y versiones anteriores, a los archivos de conectividad de datos heterogéneos de SQL Server, así como a las capacidades de Integration Services, a través del controlador 2007 Office System. Además, las aplicaciones de SQL Server de 64 bits pueden acceder a los archivos de Jet y 2007 Office System de 32 bits mediante SQL Server Integration Services (SSIS) de 32 bits en Windows de 64 bits.
Proveedor OLE DB de Microsoft para formas de datos (MSDADS): con MSDADS puede crear relaciones jerárquicas entre las claves, los campos o los conjuntos de filas de una aplicación. No se han realizado mejoras importantes en las características desde MDAC 2.1. Este proveedor ha quedado en desuso. Microsoft recomienda que se utilice XML, en lugar de MSDADS.
Oracle ODBC y Oracle OLE DB: El controlador ODBC de Microsoft para Oracle (Oracle ODBC) y el proveedor OLE DB de Microsoft para Oracle (Oracle OLE DB) proporcionan acceso a los servidores de bases de datos de Oracle. Se compilan con Oracle Call Interface (OCI), versión 7, y proporcionan compatibilidad completa con Oracle 7. Además, utilizan la emulación de Oracle 7 para proporcionar compatibilidad limitada con las bases de datos de Oracle 8. Oracle ya no admite aplicaciones que usan llamadas a la versión 7 de OCI. Estas tecnologías han quedado en desuso. Si usa orígenes de datos de Oracle, debe migrar al proveedor y controlador proporcionados por Oracle.
Servicio de datos remotos (RDS): RDS es un mecanismo propiedad de Microsoft para acceder a objetos de conjuntos de registros ADO remotos por medio de Internet o una intranet. RDS ha quedado en desuso; no se han realizado mejoras importantes en las características en RDS desde MDAC 2.1. Microsoft ha lanzado .NET Framework, que tiene amplias funcionalidades de SOAP y reemplaza los componentes de RDS. Todos los componentes de servidor RDS se quitarán del sistema operativo después de Windows 7.
Objetos de replicación de Jet (JRO): JRO está en desuso. JRO se utiliza en ADO con bases de datos Jet ( .mdb) para crear y comprimir bases de datos Jet (.mdb) y realizar la administración de replicación de Jet. MDAC 2.7 será la última versión. JRO no estará disponible en el sistema operativo Windows de 64 bits. JRO no es compatible con el formato de archivo de Microsoft Access 2007 ( .accdb).
Compatibilidad con ODBC de 16 bits: Si usa aplicaciones de 16 bits, debe migrar a una aplicación de 32 bits. La funcionalidad de 16 bits ha quedado en desuso y se quita de los sistemas operativos de 64 bits. Para obtener más información, vea el artículo de Knowledge Base 896458.
Proveedor simple OLEDB (MSDAOSP): este proveedor ofrece un marco para compilar rápidamente proveedores OLE DB a través de datos simples. MSDAOSP ha quedado en desuso.
Biblioteca de cursores ODBC: La biblioteca de cursores ODBC (ODBCCR32.dll) proporciona cursores de datos limitados del lado cliente. esta biblioteca ha quedado en desuso; la aplicación puede usar implementaciones de cursor del lado servidor como reemplazo.
Comunicación remota de la interfaz OLE DB fuera de proceso: la comunicación remota de la interfaz OLEDB (msdaps.dll) fue un intento de permitir que los proveedores OLE DB se ejecutaran fuera de proceso. La comunicación remota de la interfaz OLEDB fuera de proceso ha quedado en desuso.
Bibliotecas de red de SQL de AppleTalk y Banyan Vines: Las bibliotecas de red de Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet y RPC SQL han quedado en desuso. Si utiliza cualquiera de estas tecnologías, debe modificar las aplicaciones para que usen alguna otra biblioteca de red, como TCP/IP y la canalización con nombre.
Versiones de MDAC/WDAC
Esta es una lista de los escenarios de compatibilidad de versiones anteriores de MDAC/WDAC, empezando por la primera.
MDAC 1.5, MDAC 2.0 y MDAC 2.1: Estas versiones de MDAC eran versiones independientes que se lanzaron a través de Microsoft Windows NT Option Pack, el SDK de la plataforma Microsoft Windows o el sitio web de MDAC. Ya no se admiten estas versiones de MDAC.
MDAC 2.5: esta versión de MDAC se incluyó en el sistema operativo Windows 2000. Los Service Pack de MDAC 2.5 se incluyeron con los Service Pack de Windows 2000 correspondientes.
MDAC 2.6: MDAC 2.6 RTM, SP1 y SP2 se incluyeron con Microsoft SQL Server 2000 RTM, SP1 y SP2, respectivamente. Además, estos Service Pack de MDAC se han publicado en el sitio web de MDAC de acuerdo con la programación de lanzamiento de los Service Pack de Microsoft SQL Server 2000. Puede instalar esta versión de MDAC y sus Service Pack en las plataformas Windows 2000, Windows Millennium Edition, Windows NT, Windows 95 y Windows 98. Ya no se admite esta versión de MDAC.
MDAC 2.7: esta versión de MDAC se incluyó en los sistemas operativos Microsoft Windows XP RTM y SP1. Puede instalar esta versión de MDAC y sus Service Pack en plataformas Windows 2000, Windows Millennium, Windows NT y Windows 98. Solo puede instalar esta versión en la plataforma Windows XP a través del sistema operativo o sus Service Pack. Ya no se admite esta versión de MDAC.
MDAC 2.8: esta versión de MDAC se incluye con Windows Server 2003 y Windows XP SP2 y versiones posteriores. También puede instalar esta versión de MDAC y sus Service Pack en Windows 2000.
- La versión de 32 bits de MDAC 2.8 también se publicó en el sitio web de MDAC al mismo tiempo que se publicó Windows Server 2003 para el cliente.
- La versión de 64 bits de MDAC 2.8 se lanzó con la versión de 64 bits de Windows Server 2003 y Windows XP.
Windows Data Access Components (WDAC): a partir de Windows Vista y Windows Server 2008, MDAC cambió su nombre a WDAC: "Windows Data Access Components". WDAC se incluye como parte del sistema operativo y no está disponible por separado para la redistribución. La capacidad de servicio de WDAC está sujeta al ciclo de vida del sistema operativo.
Las versiones de 32 bits y 64 bits de WDAC se publican con las versiones de 32 bits y 64 bits de los sistemas operativos Windows, respectivamente.
Tecnologías de acceso a datos obsoletas
Las tecnologías obsoletas son aquellas que no se han mejorado ni actualizado en varias versiones de producto y que se excluirán de versiones futuras del producto. No use estas tecnologías al escribir aplicaciones nuevas. Cuando modifique las aplicaciones existentes que se escriben con estas tecnologías, considere la posibilidad de migrar esas aplicaciones a ADO.NET u otra tecnología actual.
Los siguientes componentes se consideran obsoletos:
- DB-Library: DB-Library es un modelo de programación específico de SQL Server que incluye las API de C. No se han realizado mejoras en las características de DB-Library desde SQL Server 6.5. Se publicó por última vez con SQL Server 2000 y no se migrará al sistema operativo Windows de 64 bits.
- SQL incrustado(E-SQL): E-SQL es un modelo de programación específico de SQL Server que permite insertar instrucciones Transact-SQL en código de Visual C. No se han realizado mejoras en las características de E-SQL desde SQL Server 6.5. Se publicó por última vez con SQL Server 2000 y no se migrará al sistema operativo Windows de 64 bits.
- Objetos de acceso a datos (DAO): DAO proporciona acceso a las bases de datos JET (Access). Esta API se puede usar desde Microsoft Visual Basic, Microsoft Visual C++ y lenguajes de scripting. Se incluyó con Microsoft Office 2000 y Office XP. DAO 3.6 es la versión final de esta tecnología. No estará disponible en el sistema operativo Windows de 64 bits.
- Remote Data Objects (RDO): RDO se diseñó específicamente para acceder a orígenes de datos relacionales ODBC remotos y facilitó el uso de ODBC sin código de aplicación complejo. Se incluyó con las versiones 4, 5 y 6 de Microsoft Visual Basic. La versión 2.0 de RDO fue la versión final de esta tecnología.
- System.Data.OracleClient: System.Data.OracleClient proporciona acceso a los servidores de bases de datos de Oracle. Se compiló con Oracle Call Interface (OCI) versión 7 y originalmente proporcionaba compatibilidad completa con Oracle 7. Utiliza la emulación de Oracle 7 para proporcionar compatibilidad limitada con las bases de datos de Oracle 8i. Oracle ya no admite aplicaciones que usan llamadas a la versión 7 de OCI. Como resultado, System.Data.OracleClient no se admite oficialmente para su uso en Oracle 9i o posterior. Estas tecnologías han quedado en desuso. Si usa orígenes de datos de Oracle, debe migrar al proveedor de datos de Oracle para .NET (ODP.NET) compatible con la versión de Oracle Server en uso. El espacio de nombres System.Data.OracleClient ha quedado en desuso oficialmente en .NET Framework 4.0 y ya no se mantiene.
Obtener ayuda
- Ideas para SQL: ¿Tiene sugerencias para mejorar SQL Server?
- Preguntas y respuestas de Microsoft (SQL Server)
- Stack Exchange de DBA (etiqueta sql-server): Preguntas sobre SQL Server
- Stack Overflow (etiqueta sql-server): Respuestas a preguntas de desarrollo de SQL
- Reddit: Debate general sobre SQL Server
- Información y términos de licencia de Microsoft SQL Server
- Opciones de soporte técnico para usuarios profesionales
- Comentarios y ayuda adicional sobre SQL Server
Contribuya a la documentación de SQL
¿Sabía que puede editar el contenido de SQL usted mismo? Si lo hace, no solo contribuirá a mejorar la documentación, sino que también se le reconocerá como colaborador de la página.
Para más información, vea Cómo colaborar en la documentación de SQL Server.