Pilotes et frameworks SQL de Microsoft

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsBase de données SQL dans Microsoft Fabric

Les applications utilisent un pilote ou un fournisseur de données pour se connecter aux produits Microsoft SQL. De nombreuses applications utilisent également un framework, un mapper objet-relationnel (ORM) ou une autre bibliothèque d’accès aux données au-dessus du pilote.

  • Un pilote ou un fournisseur gère la communication réseau, l’authentification, les commandes, les transactions, les paramètres et les résultats.
  • Un framework ou une bibliothèque d’accès aux données utilise un pilote ou un fournisseur et ajoute des fonctionnalités telles que la cartographie d’objets, la génération de requêtes, le suivi des changements, les migrations ou l’intégration avec un framework applicatif.

Choisissez d’abord le chauffeur ou le fournisseur pour votre langue et votre plateforme. Ensuite, si votre application a besoin d’un modèle de programmation de niveau supérieur, choisissez un framework ou une bibliothèque compatible. Un cadre logiciel ne remplace pas le pilote sous-jacent.

Le support du pilote et celui du framework sont séparés. Le support Microsoft pour un pilote n'inclut pas la prise en charge d'un framework tiers qui utilise ce pilote.

Choisissez un chauffeur ou un prestataire

Le tableau suivant liste les principaux conducteurs et fournisseurs couverts dans cette documentation. Examinez la documentation produit liée pour les systèmes d’exploitation pris en charge, les versions à l’exécution, les produits SQL, les méthodes d’authentification et les fonctionnalités.

Langue ou plateforme Conducteur ou fournisseur Propriété et support
.NET Microsoft.Data.SqlClient Fournisseur Microsoft pour le nouveau développement .NET.
C et C++ Pilote ODBC Microsoft pour SQL Server Pilote Microsoft ODBC.
C et C++ Microsoft OLE DB Driver pour SQL Server Fournisseur Microsoft OLE DB.
Allez go-mssqldb Pilote Go officiel de Microsoft qui implémente les interfaces standard database/sql.
Java Pilote JDBC pour Microsoft SQL Server pilote JDBC de Microsoft
Node.js Ennuyeux Conducteur soutenu par la communauté. Microsoft contribue au projet, mais il ne propose pas le support Microsoft.
PHP Pilotes Microsoft pour PHP pour SQL Server Microsoft SQLSRV et PDO_SQLSRV extensions. Les extensions utilisent le pilote Microsoft ODBC pour SQL Server.
Python mssql-python Pilote Python Microsoft
Ruby TinyTDS Conducteur soutenu par la communauté. Ruby et TinyTDS ne sont pas compatibles avec le support Microsoft.

Pour Apache Spark, utilisez la source de données JDBC intégrée de Spark avec le pilote Microsoft JDBC pour SQL Server. Le connecteur SQL Spark de Microsoft est archivé et n'est pas en cours de développement actif.

Choisissez un framework ou une bibliothèque d’accès aux données

Le tableau suivant liste les frameworks et bibliothèques d’accès aux données qui prennent en charge les produits Microsoft SQL via un fournisseur, un adaptateur ou un dialecte de base de données. La liste n’est pas exhaustive.

Langage Cadre ou bibliothèque Intégration de Microsoft SQL Propriété et support
.NET fournisseur SQL Server pour Entity Framework Core Microsoft.Data.SqlClient Fournisseur maintenu par Microsoft dans Entity Framework Core.
.NET Fournisseur SQL Server pour Entity Framework 6 Microsoft.Data.SqlClient Fournisseur Microsoft pour les applications existantes de l’Entity Framework 6.
.NET Dapper Étend ADO.NET DbConnection; utiliser avec Microsoft.Data.SqlClient. Micro-ORM d’un tiers.
Allez GORM go-mssqldb ORM tiers. L’article lié explique comment utiliser son dialecte Microsoft SQL.
Allez sqlx go-mssqldb Bibliothèque tierce qui étend database/sql avec des fonctions utilitaires de mappage et pour les requêtes.
Java Mise en veille prolongée de l'ORM Dialecte Microsoft SQL sur JDBC ; à utiliser avec le pilote Microsoft JDBC pour SQL Server. ORM tiers.
Node.js et TypeScript Prisma ORM Fournisseur intégré sqlserver ; Prisma 7 peut utiliser son node-mssql adaptateur de pilote. ORM tiers.
Node.js et TypeScript Sequelize Dialecte Microsoft SQL basé sur Tedious. ORM tiers.
Node.js et TypeScript TypeORM Source de données Microsoft SQL basée sur node-mssql et Tedious. ORM tiers.
PHP Laravel Éloquent Connexion à Microsoft SQL avec SQLSRV et PDO_SQLSRV. Framework web tiers et ORM.
PHP Doctrine DBAL et ORM Connexion à Microsoft SQL via le pilote pdo_sqlsrv ou sqlsrv. Couche d’abstraction de base de données tierce et ORM.
Python MSSQL-Django mssql-python Ou pyodbc dans MSSQL-Django 2.0. Backend de base de données Microsoft Django.
Python SQLAlchemy Cela dépend du dialecte SQL de Microsoft sélectionné. Boîte à outils tierce et ORM. Consultez les directives d’intégration liées et leurs exigences de version.
Ruby Adaptateur SQL Server pour Active Record Adaptateur SQL Microsoft pour Ruby on Rails basé sur TinyTDS. Adaptateur supporté par la communauté.

Lorsque vous évaluez un cadre ou une bibliothèque :

  • Vérifiez que son fournisseur, son adaptateur ou son dialecte prend en charge le produit Microsoft SQL, la méthode d’authentification et les fonctionnalités dont votre application a besoin.
  • Vérifiez l’état de maintenance du framework, sa politique de version et son canal de support.
  • Pour les problèmes de connectivité, reproduisez le problème avec le pilote sous-jacent lorsque possible. Une reproduction directe du pilote aide à déterminer si le problème appartient au pilote ou au cadre de niveau supérieur.