Drivers e frameworks SQL da Microsoft

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsBanco de Dados SQL no Microsoft Fabric

Os aplicativos utilizam um driver ou provedor de dados para se conectar a produtos Microsoft SQL. Muitas aplicações também utilizam um framework, mapeador objeto-relacional (ORM) ou outra biblioteca de acesso a dados sobre o driver.

  • Um driver ou provedor lida com comunicação de rede, autenticação, comandos, transações, parâmetros e resultados.
  • Um framework ou biblioteca de acesso a dados utiliza um driver ou provedor e adiciona capacidades como mapeamento de objetos, geração de consultas, rastreamento de mudanças, migrações ou integração com um framework de aplicação.

Escolha primeiro o motorista ou provedor para o seu idioma e plataforma. Depois, se sua aplicação precisar de um modelo de programação de nível mais alto, escolha um framework ou biblioteca compatível. Um framework não substitui o driver subjacente.

O suporte ao driver e o suporte ao framework são separados. O suporte da Microsoft para driver não inclui suporte a um framework de terceiros que use o driver.

Escolha um motorista ou prestador de serviços

A tabela a seguir lista os principais motoristas e provedores abordados nesta documentação. Revise a documentação vinculada do produto para sistemas operacionais suportados, versões em tempo de execução, produtos SQL, métodos de autenticação e recursos.

Idioma ou plataforma Motorista ou fornecedor Propriedade e suporte
.NET Microsoft.Data.SqlClient Provedor da Microsoft para o novo desenvolvimento em .NET.
C e C++ Driver ODBC da Microsoft para SQL Server driver ODBC da Microsoft.
C e C++ Driver do Microsoft OLE DB para SQL Server Provedor de Microsoft OLE DB.
Go go-mssqldb Driver oficial do Microsoft Go que implementa as interfaces padrãodatabase/sql.
Java Microsoft JDBC Driver para SQL Server Driver JDBC da Microsoft.
Node.js Tedioso Motorista apoiado pela comunidade. A Microsoft contribui para o projeto, mas não conta com suporte da Microsoft.
PHP Drivers da Microsoft para PHP para SQL Server Microsoft SQLSRV e extensões PDO_SQLSRV. As extensões utilizam o Microsoft ODBC Driver para SQL Server.
Python mssql-python driver Python da Microsoft
Ruby TinyTDS Motorista apoiado pela comunidade. Ruby e TinyTDS não vêm com suporte da Microsoft.

Para o Apache Spark, use a fonte de dados JDBC embutida do Spark com o driver Microsoft JDBC para SQL Server. O conector SQL Spark da Microsoft está arquivado e não está em desenvolvimento ativo.

Escolha um framework ou biblioteca de acesso a dados

A tabela a seguir lista frameworks e bibliotecas de acesso a dados que suportam produtos Microsoft SQL por meio de um provedor, adaptador ou dialeto de banco de dados. A lista não é exaustiva.

Linguagem Estrutura ou biblioteca Integração com Microsoft SQL Propriedade e suporte
.NET Entity Framework Core SQL Server provedor Microsoft.Data.SqlClient O provedor mantido pela Microsoft do Entity Framework Core.
.NET Provedor SQL Server do Entity Framework 6 Microsoft.Data.SqlClient Provedor Microsoft para aplicações existentes do Entity Framework 6.
.NET Dapper Estende ADO.NET DbConnection; uso com Microsoft.Data.SqlClient. Micro-ORM de terceiros.
Go GORM go-mssqldb ORM terceirizado. O artigo vinculado mostra como usar o dialeto Microsoft SQL dele.
Go sqlx go-mssqldb Biblioteca de terceiros que estende database/sql com mapeamento e recursos auxiliares para consultas.
Java Hibernar o ORM Dialeto Microsoft SQL via JDBC; usar com o Microsoft JDBC Driver for SQL Server. ORM terceirizado.
Node.js e TypeScript Prisma ORM Provedor sqlserver integrado; o Prisma 7 pode usar seu adaptador de driver node-mssql. ORM terceirizado.
Node.js e TypeScript Sequelize Dialeto SQL da Microsoft baseado em Tedious. ORM terceirizado.
Node.js e TypeScript TypeORM Fonte de dados SQL do Microsoft baseada em node-mssql e Tedious. ORM terceirizado.
PHP Laravel Eloquente Conexão com o Microsoft SQL Server por meio de SQLSRV e PDO_SQLSRV. Framework web de terceiros e ORM.
PHP Doutrina DBAL e ORM Conexão com o Microsoft SQL por meio do driver pdo_sqlsrv ou sqlsrv. Camada de abstração de banco de dados de terceiros e ORM.
Python mssql-django mssql-python Ou pyodbc em MSSQL-Django 2.0. Backend do banco de dados Microsoft Django.
Python SQLAlchemy Depende do dialeto Microsoft SQL selecionado. Kit de ferramentas de terceiros e ORM. Revise as orientações de integração vinculadas e seus requisitos de versão.
Ruby Adaptador do SQL Server para Active Record Adaptador Microsoft SQL para Ruby on Rails baseado no TinyTDS. Adaptador suportado pela comunidade.

Quando você avalia uma estrutura ou biblioteca:

  • Confirme se seu provedor, adaptador ou dialeto suporta o produto Microsoft SQL, o método de autenticação e os recursos que sua aplicação precisa.
  • Verifique o status de manutenção do framework, a política de lançamento e o canal de suporte.
  • Em caso de problemas de conectividade, reproduza o problema com o driver subjacente sempre que possível. Uma reprodução direta do driver ajuda a determinar se o problema pertence ao driver ou à estrutura de nível superior.