Controladores y marcos de trabajo de Microsoft SQL

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsBase de datos de Azure SQL en Microsoft Fabric

Las aplicaciones utilizan un controlador o proveedor de datos para conectarse a productos SQL de Microsoft. Muchas aplicaciones también utilizan un framework, un mapador objeto-relacional (ORM) u otra biblioteca de acceso a datos sobre el controlador.

  • Un controlador o proveedor gestiona la comunicación de red, autenticación, comandos, transacciones, parámetros y resultados.
  • Un framework o biblioteca de acceso a datos utiliza un controlador o proveedor y añade capacidades como mapeo de objetos, generación de consultas, seguimiento de cambios, migraciones o integración con un framework de aplicaciones.

Elige primero el conductor o proveedor para tu idioma y plataforma. Luego, si tu aplicación necesita un modelo de programación de nivel superior, elige un framework o biblioteca compatible. Un framework no reemplaza al driver subyacente.

El soporte para el controlador y el soporte para el framework son independientes. El soporte de Microsoft para un controlador no incluye soporte para un framework de terceros que use el controlador.

Elige un conductor o proveedor

La siguiente tabla enumera a los principales conductores y proveedores cubiertos en esta documentación. Revisa la documentación del producto vinculada para los sistemas operativos compatibles, las versiones en tiempo de ejecución, los productos SQL, los métodos de autenticación y las funciones.

Idioma o plataforma Conductor o proveedor Propiedad y soporte
.NET Microsoft.Data.SqlClient Microsoft proveedor para el desarrollo de nuevos .NET.
C y C++ controlador ODBC de Microsoft para SQL Server Controlador ODBC de Microsoft.
C y C++ Controlador Microsoft OLE DB para SQL Server Proveedor de Microsoft OLE DB.
Go go-mssqldb Controlador oficial de Microsoft Go que implementa las interfaces estándardatabase/sql.
Java Controlador JDBC de Microsoft para SQL Server Controlador JDBC de Microsoft.
Node.js. Tedioso Conductor apoyado por la comunidad. Microsoft contribuye al proyecto, pero no cuenta con soporte de Microsoft.
PHP Controladores de Microsoft para PHP para SQL Server Microsoft SQLSRV y PDO_SQLSRV extensiones. Las extensiones utilizan el controlador Microsoft ODBC para SQL Server.
Pitón mssql-python Controlador de Python de Microsoft.
Rubí TinyTDS Conductor apoyado por la comunidad. Ruby y TinyTDS no incluyen soporte para Microsoft.

Para Apache Spark, utiliza la fuente de datos JDBC integrada de Spark con el controlador Microsoft JDBC para SQL Server. El conector SQL Spark de Microsoft está archivado y no está en desarrollo activo.

Elige un framework o biblioteca de acceso a datos

La siguiente tabla enumera los frameworks y bibliotecas de acceso a datos que soportan productos Microsoft SQL a través de un proveedor, adaptador o dialecto de base de datos. La lista no es exhaustiva.

Idioma Marco o biblioteca Integración con Microsoft SQL Propiedad y soporte
.NET proveedor de SQL Server para Entity Framework Core Microsoft.Data.SqlClient Proveedor mantenido por Microsoft en Entity Framework Core.
.NET Proveedor de SQL Server de Entity Framework 6 Microsoft.Data.SqlClient Proveedor de Microsoft para aplicaciones existentes de Entity Framework 6.
.NET Dapper Extiende ADO.NET DbConnection; úselo con Microsoft.Data.SqlClient. Micro-ORM de terceros.
Go GORM go-mssqldb ORM de terceros. El artículo enlazado muestra cómo usar su dialecto Microsoft SQL.
Go sqlx go-mssqldb Biblioteca de terceros que amplía database/sql con funciones de mapeo y utilidades de consulta.
Java Hibernate ORM Dialecto SQL de Microsoft sobre JDBC; úsalo con Microsoft JDBC Driver para SQL Server. ORM de terceros.
Node.js y TypeScript Prisma ORM Proveedor integrado sqlserver ; Prisma 7 puede usar su node-mssql adaptador de controlador. ORM de terceros.
Node.js y TypeScript Sequelize Dialecto SQL de Microsoft basado en Tedious. ORM de terceros.
Node.js y TypeScript TypeORM Fuente de datos SQL de Microsoft basada en node-mssql y Tedious. ORM de terceros.
PHP Laravel Elocuente Conexión a Microsoft SQL a través de SQLSRV y PDO_SQLSRV. Framework web de terceros y ORM.
PHP Doctrina DBAL y ORM Conexión de Microsoft SQL a través del controlador pdo_sqlsrv o sqlsrv. Capa de abstracción para bases de datos de terceros y ORM.
Pitón MSSQL-Django mssql-python o pyodbc en mssql-django 2.0. Backend de base de datos de Microsoft Django.
Pitón SQLAlchemy Depende del dialecto Microsoft SQL seleccionado. Kit de herramientas de terceros y ORM. Revisa la guía de integración enlazada y sus requisitos de versión.
Rubí Adaptador SQL Server de registros activos Adaptador SQL de Microsoft para Ruby on Rails basado en TinyTDS. Adaptador apoyado por la comunidad.

Cuando evalúas un marco o biblioteca:

  • Confirma que su proveedor, adaptador o dialecto soporta el producto SQL de Microsoft, el método de autenticación y las funciones que necesita tu aplicación.
  • Consulta el estado de mantenimiento del framework, la política de liberación y el canal de soporte.
  • Para problemas de conectividad, reproduce el problema con el controlador subyacente cuando sea posible. Una reproducción directa del controlador ayuda a determinar si el problema pertenece al controlador o al marco de nivel superior.