Partilhar via


Histórico de drivers para o Microsoft SQL Server

Esta página descreve as tecnologias de conexão de dados históricos da Microsoft para conexão com o SQL Server.

ODBC

Há três gerações distintas de drivers ODBC da Microsoft para SQL Server. O primeiro driver ODBC "SQL Server" ainda é fornecido como parte do Windows Data Access Components. Este driver não é recomendado para novos desenvolvimentos. A partir do SQL Server 2005, o SQL Server Native Client inclui uma interface ODBC e é o driver ODBC fornecido com o SQL Server 2005 até o SQL Server 2012. Este driver também não é recomendado para novos desenvolvimentos. Após o SQL Server 2012, o driver ODBC da Microsoft para SQL Server é o driver atualizado com os recursos de servidor mais recentes no futuro.

SQL Server Native Client

O SQL Server Native Client era uma biblioteca autônoma usada para OLE DB e ODBC. O SQL Server Native Client (geralmente abreviado SNAC) foi incluído no SQL Server 2005 até 2012. O SQL Server Native Client pode ser usado para aplicativos que precisam aproveitar os novos recursos introduzidos no SQL Server 2005 por meio do SQL Server 2012. (O Microsoft/Windows Data Access Components não é atualizado para esses novos recursos no SQL Server.) Para novos recursos além do SQL Server 2012, o SQL Server Native Client não será atualizado. O SQL Server Native Client (SNAC) não é fornecido com:- SQL Server 2022 (16.x) e versões posteriores - SQL Server Management Studio 19 e versões posterioresO SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Microsoft OLE DB Provider for SQL Server (SQLOLEDB) herdado não são recomendados para o desenvolvimento de novos aplicativos. Para novos projetos, use um dos seguintes drivers:- Microsoft ODBC Driver for SQL Server - Microsoft OLE DB Driver for SQL ServerPara SQLNCLI fornecido como um componente do Mecanismo de Banco de Dados do SQL Server (versões de 2012 a 2019), consulte esta exceção do ciclo de vida do suporte.

Para documentação completa do SQL Server Native Client, consulte SQL Server Native Client Programming.

Driver ODBC da Microsoft para SQL Server

Após o SQL Server 2012, o driver ODBC primário para SQL Server foi desenvolvido e lançado como o driver ODBC da Microsoft para SQL Server. Para mais informações, consulte o Driver Microsoft ODBC para SQL Server.

OLE DB

Há três gerações distintas de provedores Microsoft OLE DB para SQL Server. O primeiro "Microsoft OLE DB Provider for SQL Server" (SQLOLEDB) ainda é fornecido como parte do Windows Data Access Components. Este provedor não será atualizado com novos recursos e não é recomendado usar esse driver para novos desenvolvimentos. A partir do SQL Server 2005, o SQL Server Native Client inclui uma interface de provedor OLE DB (SQLNCLI) e é o provedor OLE DB fornecido com o SQL Server 2005 até o SQL Server 2017. Foi anunciado como preterido em 2011 e não é recomendado usar este driver para novo desenvolvimento. Em 2017, a tecnologia de acesso a dados OLE DB foi posteriormente descontinuada e uma nova versão planejada foi anunciada para 2018. O novo Driver Microsoft OLE DB para SQL Server é atualmente mantido e suportado.

ADO.NET

ADO.NET é um conjunto de classes que define uma interface para acessar qualquer tipo de fonte de dados, relacional e não relacional. ADO.NET foi introduzido com o Microsoft .NET Framework e continua a ser melhorado e mantido no .NET. A biblioteca SqlClient é um provedor de dados ADO.NET que fornece conectividade com fontes de dados SQL Server e SQL do Azure.

System.Data.SqlClient

System.Data.SqlClient está incluído como parte do .NET Framework e do .NET Core. Até 2019, recebia atualizações regulares de funcionalidades. Com os anúncios do futuro do .NET Core, .NET Framework e .NET em geral, o desenvolvimento do SqlClient precisava mudar para um pacote fora do .NET. System.Data.SqlClient ainda é suportado, mas não está recebendo atualizações de recursos e não é recomendado para novos desenvolvimentos.

Microsoft.Data.SqlClient

Introduzido em 2019, o Microsoft SqlClient Data Provider for SQL Server é um provedor de dados ADO.NET que oferece suporte a aplicativos destinados ao .NET Framework, .NET Core e .NET Standard. Para mais informações sobre o espaço de nomes Microsoft.Data.SqlClient, consulte Microsoft ADO.NET para SQL Server e Azure SQL Database.

JDBC

Driver JDBC da Microsoft para SQL Server

Introduzido em 2000, o Microsoft JDBC Driver para SQL Server continua a ser melhorado e mantido. Foi de código aberto em 2016. Para as informações mais recentes, incluindo como descarregar o driver, consulte a Visão Geral do driver JDBC.

PHP

Drivers da Microsoft para PHP para SQL Server

Introduzidos em 2009 como um projeto de código aberto, os Drivers da Microsoft para PHP para SQL Server continuam a ser melhorados e mantidos. Para obter as informações mais recentes, incluindo como baixar o driver PHP, consulte Drivers da Microsoft para PHP para SQL Server.

Node.js

Driver da Microsoft para Node.js para SQL Server

O Microsoft Driver for Node.js for SQL Server permite que aplicativos Node.js no Microsoft Windows e no Microsoft Azure acessem o Microsoft SQL Server e o Banco de dados SQL do Microsoft Azure. Os esforços de desenvolvimento já não estão a centrar-se neste motor. Não é recomendável criar novos aplicativos usando o Microsoft Driver for Node.js for SQL Server.

Para obter mais informações sobre o Microsoft Driver for Node.js for SQL Server, consulte WindowsAzure / node-sqlserver.

Tedioso

Atualmente, a Microsoft contribui e oferece suporte ao módulo tedioso de código aberto em Node.js para conectividade com o SQL Server usando JavaScript. Para obter mais informações, consulte DriverNode.js para SQL Server.

Componentes de acesso a dados da Microsoft ou do Windows

O Microsoft/Windows Data Access Components (MDAC/WDAC) é fornecido e suportado pelo Windows para compatibilidade com versões anteriores de aplicativos e não faz parte da pilha de tecnologia atual do SQL Server. Nenhum novo recurso será adicionado aos componentes no MDAC/WDAC e não é recomendado usá-los para o desenvolvimento de novos aplicativos.

Para os fins deste documento, você pode dividir a pilha MDAC/WDAC nos seguintes componentes, com base na tecnologia e nos produtos:

  • ADO (incluindo ADOMD e ADOX)
  • OLE DB (incluindo OLE DB Core Services, SQL Server OLE DB Provider, Oracle OLE DB Provider, OLE DB Provider for ODBC Drivers, Data Shape Provider e Remote Data Provider)
  • ODBC (incluindo ODBC Driver Manager, SQL ODBC Driver e Oracle ODBC Driver)

Componentes MDAC/WDAC

MDAC/WDAC inclui estes componentes:

  • ODBC: A interface ODBC (Open Database Connectivity) da Microsoft é uma interface de linguagem de programação C que permite que aplicativos acessem dados de diferentes tipos de sistemas de gerenciamento de banco de dados (DBMS). Os aplicativos que usam essa API são limitados a acessar apenas fontes de dados relacionais.
  • OLE DB: OLE DB é um conjunto de interfaces COM para acessar dados em diferentes tipos de armazenamentos de dados. Os provedores OLE DB existem para acessar dados em bancos de dados, sistemas de arquivos, armazenamentos de mensagens, serviços de diretório, fluxo de trabalho e armazenamentos de documentos.
  • ADO: ActiveX Data Objects (ADO) fornece um modelo de programação de alto nível. Embora tenha um pouco menos desempenho do que codificar para OLE DB ou ODBC diretamente, o ADO é simples de aprender e usar. Ele pode ser usado a partir de linguagens de script, como Microsoft Visual Basic Scripting Edition (VBScript) ou Microsoft JScript.
  • ADOMD: O ADO Multi-Dimensional (ADOMD) deve ser usado com provedores de dados multidimensionais, como o Microsoft OLAP Provider, também conhecido como Microsoft Analysis Services Provider. Nenhum grande aprimoramento de recursos foi feito para ele desde o MDAC 2.0.
  • ADOX: As extensões ADO para DDL e segurança (ADOX) permitem a criação e modificação de definições de um banco de dados, tabela, índice ou procedimento armazenado. Você pode usar o ADOX com qualquer provedor. O Microsoft Jet OLE DB Provider fornece suporte completo para ADOX, enquanto o Microsoft SQL Server OLE DB Provider fornece suporte limitado.
  • Bibliotecas de rede do Microsoft SQL Server: As Bibliotecas de Rede do SQL Server permitem que SQLOLEDB e SQLODBC se comuniquem com o banco de dados do SQL Server. As seguintes bibliotecas de rede do SQL Server foram preteridas nas versões do MDAC/WDAC: Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet e RPC. TCP/IP e pipes nomeados continuarão a ser suportados e estão disponíveis no sistema operacional Windows de 64 bits.
  • MSDASQL: O Microsoft OLE DB Provider for ODBC (MSDASQL) permite que aplicativos criados em OLE DB e ADO (que usa OLEDB internamente) acessem fontes de dados por meio de um driver ODBC. MSDASQL é um provedor OLEDB que se conecta ao ODBC, em vez de um banco de dados. Ele foi concebido como uma ponte do OLE DB para um driver ODBC quando não existe nenhum provedor OLE DB direto para uma fonte de dados. O MSDASQL vem com o sistema operacional Windows, e o Windows Server 2008 e o Vista SP1 foram as primeiras versões do Windows a incluir uma versão de 64 bits da tecnologia.

Componentes MDAC/WDAC preteridos

Esses componentes ainda são suportados na versão atual do MDAC/WDAC, mas podem ser removidos em versões futuras. Ao desenvolver novos aplicativos, a Microsoft recomenda que você evite usar esses componentes. Além disso, quando você atualiza ou modifica aplicativos existentes, remova qualquer dependência desses componentes.

  • SQLOLEDB: O Microsoft OLE DB Provider for SQL Server (SQLOLEDB), que oferece suporte ao acesso ao Microsoft SQL Server, foi preterido. A sua conectividade a futuras versões do SQL Server pode não ser suportada. A capacidade de se conectar a versões anteriores ao SQL Server 7 será removida do sistema operacional após o Windows 7. Novos aplicativos devem usar o driver Microsoft OLE DB para SQL Server (MSOLEDBSQL), que oferece suporte a novos recursos do SQL Server. Os aplicativos existentes também devem migrar para o Microsoft OLE DB Driver para SQL Server para melhor desempenho, confiabilidade e capacidade de suporte. Para obter mais informações, consulte Atualizando um aplicativo para driver OLE DB para SQL Server do MDAC.

  • SQLODBC: O driver ODBC do Microsoft SQL Server (SQLODBC), que oferece suporte ao acesso ao Microsoft SQL Server, foi preterido. A sua conectividade a futuras versões do SQL Server pode não ser suportada. A capacidade de se conectar a versões anteriores ao SQL Server 7 será removida do sistema operacional após o Windows 7. Novos aplicativos devem usar o driver ODBC da Microsoft para SQL Server no Windows, que oferece suporte a novos recursos do SQL Server. Os aplicativos existentes também devem migrar para o Microsoft ODBC Driver for SQL Server para melhor desempenho, confiabilidade e capacidade de suporte. Para obter informações relevantes, consulte Atualizando um aplicativo para o SQL Server Native Client a partir do MDAC.

  • Mecanismo de banco de dados Microsoft Jet 4.0: A partir da versão 2.6, o MDAC não contém mais componentes do Jet. Em outras palavras, o MDAC 2.6, 2.7 e 2.8 não contém o Microsoft Jet, o Microsoft Jet OLE DB Provider, os drivers de banco de dados ODBC Desktop ou Jet Data Access Objects (DAO).

    Não há nenhuma versão de 64 bits do Jet Database Engine, o driver Jet OLEDB, os drivers ODBC do Jet ou o Jet DAO disponíveis. Para mais informações, consulte Microsoft OLE DB Provider for Jet e o driver Jet ODBC está disponível apenas em versões de 32 bits. Em versões de 64 bits do Windows, o Jet de 32 bits é executado no subsistema Windows WOW64. Para obter mais informações sobre o WOW64, consulte a documentação do MSDN WOW64. As aplicações nativas de 64 bits não conseguem comunicar com os drivers Jet de 32 bits que correm no WOW64.

    Em vez do Microsoft Jet, a Microsoft recomenda o uso do Microsoft SQL Server Express Edition ao desenvolver novos aplicativos que não sejam do Microsoft Access que exijam um armazenamento de dados relacional. Estas aplicações Jet novas ou convertidas podem continuar a utilizar o Jet com a intenção de utilizar o Microsoft Office 2003 e ficheiros anteriores (.mdb e .xls) para armazenamento de dados não primário. No entanto, para esses aplicativos, você deve planejar a migração do Jet para o Mecanismo de Banco de Dados do Microsoft Access. Você pode baixar o Mecanismo de Banco de Dados do Microsoft Access, que permite ler e gravar em arquivos pré-existentes nos formatos de arquivo do Office 2003 (.mdb e .xls) ou do Office 2007 (*.accdb, *.xlsm*.xlsx e *.xlsb) .

    Importante

    Leia o Contrato de Licença de Usuário Final do 2007 Office System para obter limitações de uso específicas.

    Observação

    Os aplicativos do SQL Server também podem acessar o 2007 Office System e, anteriormente, arquivos de conectividade de dados heterogêneos do SQL Server e recursos do Integrations Services, por meio do 2007 Office System Driver. Além disso, os aplicativos do SQL Server de 64 bits podem acessar arquivos do Jet de 32 bits e do 2007 Office System usando o SQL Server Integration Services (SSIS) de 32 bits no Windows de 64 bits.

  • Provedor Microsoft OLE DB para modelagem de dados (MSDADS): Com o MSDADS, você pode criar relações hierárquicas entre chaves, campos ou conjuntos de linhas em um aplicativo. Nenhum grande aprimoramento de recursos foi feito desde o MDAC 2.1. Este Provedor foi preterido. A Microsoft recomenda que você use XML, em vez de MSDADS.

  • Oracle ODBC e Oracle OLE DB: O Microsoft Oracle ODBC Driver (Oracle ODBC) e o Microsoft OLE DB Provider for Oracle (Oracle OLE DB) fornecem acesso aos servidores de banco de dados Oracle. Eles são criados usando o Oracle Call Interface (OCI) versão 7 e fornecem suporte completo para o Oracle 7. Além disso, ele usa emulação Oracle 7 para fornecer suporte limitado para bancos de dados Oracle 8. A Oracle não suporta mais aplicativos que usam chamadas OCI versão 7. Essas tecnologias foram preteridas. Se você estiver usando fontes de dados Oracle, deverá migrar para o driver e o provedor fornecidos pela Oracle.

  • Serviços de dados remotos (RDS): O RDS é um mecanismo proprietário da Microsoft para acessar objetos remotos do ADO Recordset pela Internet ou por uma Intranet. O RDS foi preterido; nenhum grande aprimoramento de recursos foi feito no RDS desde o MDAC 2.1. A Microsoft lançou o .NET Framework, que tem amplos recursos SOAP e substitui os componentes RDS. Todos os componentes do servidor RDS serão removidos do sistema operacional após o Windows 7.

  • Jet Replication Objects (JRO): O JRO foi preterido. O JRO é usado no ADO com bancos de dados Jet (.mdb) para criar e compactar bancos de dados Jet (.mdb's) e executar o Jet Replication Management. O MDAC 2.7 será o seu último lançamento. JRO não estará disponível no sistema operacional Windows de 64 bits. JRO não é suportado no formato de arquivo do Microsoft Access 2007 (.accdb).

  • Suporte a ODBC de 16 bits: Se você estiver usando aplicativos de 16 bits, deverá migrar para um aplicativo de 32 bits. A funcionalidade de 16 bits foi preterida e está sendo removida dos sistemas operacionais de 64 bits. Para mais informações, veja as versões de 64 bits do Windows não suportam componentes de 16 bits, processos de 16 bits ou aplicações de 16 bits.

  • OLEDB Provedor Simples (MSDAOSP): O OLEDB Simple Provider oferece uma estrutura para criar rapidamente provedores OLE DB sobre dados simples. MSDAOSP foi preterido.

  • Biblioteca de cursores ODBC: A Biblioteca de Cursores ODBC (ODBCCR32.dll) fornece cursores de dados limitados do lado do cliente. A Biblioteca de Cursores ODBC foi preterida; Seu aplicativo pode usar implementações de cursor do lado do servidor como um substituto.

  • Comunicação remota da interface fora do processo OLE DB: A comunicação remota da interface OLEDB (msdaps.dll) foi uma tentativa de permitir que os provedores OLE DB ficassem sem processo. OLEDB Out-of-Process Interface remoting foi preterido.

  • Bibliotecas de rede SQL AppleTalk e Banyan Vines: As bibliotecas de rede Banyan Vines, AppleTalk, ServerNet, IPX/SPX, Giganet e RPC SQL foram preteridas. Se você estiver usando qualquer uma dessas tecnologias, modifique seus aplicativos para usar uma das outras bibliotecas de rede, como TCP/IP e pipe nomeado.

Versões MDAC/WDAC

Aqui está uma lista dos cenários de suporte de versões anteriores do MDAC/WDAC, começando com o mais antigo.

  • MDAC 1.5, MDAC 2.0 e MDAC 2.1: Essas versões do MDAC eram versões independentes que foram lançadas através do Microsoft Windows NT Option Pack, o Microsoft Windows Platform SDK ou o site do MDAC. Essas versões do MDAC não são mais suportadas.

  • MDAC 2.5: Esta versão do MDAC foi incluída com o sistema operacional Windows 2000. Service packs do MDAC 2.5 foram incluídos com service packs correspondentes do Windows 2000.

  • MDAC 2.6: MDAC 2.6 RTM, SP1 e SP2 foram incluídos no Microsoft SQL Server 2000 RTM, SP1 e SP2, respectivamente. Além disso, esses service packs do MDAC foram lançados no site do MDAC seguindo o cronograma de lançamento do service pack do Microsoft SQL Server 2000. Você pode instalar esta versão do MDAC e seus service packs nas plataformas Windows 2000, Windows Millennium Edition, Windows NT, Windows 95 e Windows 98. Esta versão do MDAC não é mais suportada.

  • MDAC 2.7: Esta versão do MDAC foi incluída com os sistemas operacionais Microsoft Windows XP RTM e SP1. Você pode instalar esta versão do MDAC e seus service packs nas plataformas Windows 2000, Windows Millennium, Windows NT e Windows 98. Pode instalar esta versão na plataforma Windows XP apenas através do sistema operativo ou dos respetivos service packs. Esta versão do MDAC não é mais suportada.

  • MDAC 2.8: Esta versão do MDAC foi incluída no Windows Server 2003 e Windows XP SP2 e posterior. Você também pode instalar esta versão do MDAC e seus service packs no Windows 2000.

    • A versão de 32 bits do MDAC 2.8 também foi lançada para o site do MDAC ao mesmo tempo que o Windows Server 2003 foi lançado para o cliente.
    • A versão de 64 bits do MDAC 2.8 foi lançada com a versão de 64 bits do Windows Server 2003 e Windows XP.
  • Windows Data Access Components (WDAC): MDAC mudou seu nome para WDAC - "Windows Data Access Components" começando com o Windows Vista e Windows Server 2008. O WDAC está incluído como parte do sistema operacional e não está disponível separadamente para redistribuição. A facilidade de manutenção do WDAC está sujeita ao ciclo de vida do sistema operacional.

    As versões de 32 bits e 64 bits do WDAC são lançadas com as versões de 32 bits e 64 bits dos sistemas operacionais Windows, respectivamente.

Versões do SQL Server e drivers ODBC e OLE DB

A tabela a seguir mostra as versões do SQL Server ao longo do tempo e os drivers ODBC e OLE DB correspondentes fornecidos com essa versão do SQL Server

Versão do SQL Server Controlador ODBC Provedor OLE DB Notes
SQL Server 2000 Driver ODBC do SQL Server (legado) Provedor OLE DB do SQL Server (legado) Deprecated
SQL Server 2005 Cliente nativo do SQL (SNAC 2005) Cliente nativo do SQL (SNAC 2005) Introduzido o SNAC
SQL Server 2008 / R2 Cliente Nativo SQL (SNAC 2008) Cliente Nativo SQL (SNAC 2008) SNAC atualizado
SQL Server 2012 SQL Native Client 11.0 SQL Native Client 11.0 Última versão do SNAC
SQL Server 2014 Microsoft ODBC Driver 11 para SQL Server SQL Native Client 11.0 (preterido) SNAC/OLE DB preterido
SQL Server 2016 Driver ODBC da Microsoft 13 SQL Native Client 11.0 (preterido) ODBC mantido OLE DB preterido
SQL Server 2017 Driver ODBC da Microsoft 13.1 (14) SQL Native Client 11.0 (preterido) OLE DB preterido
SQL Server 2019 Driver ODBC da Microsoft 17 Driver Microsoft OLE DB (MSOLEDBSQL) OLE DB não obsoleto/reintroduzido
Manutenção ativa
SQL Server 2022 Driver ODBC da Microsoft 17 Driver Microsoft OLE DB (MSOLEDBSQL) Manutenção ativa
SQL Server 2025 Driver ODBC da Microsoft 18 Driver Microsoft OLE DB 19 (MSOLEDBSQL19) Manutenção ativa

Não desinstale os drivers fornecidos com o SQL Server, pois eles são usados por vários componentes para conectividade. Exemplos de tais componentes incluem Servidores Vinculados, Replicação, SQL Server Agent, Database Mail, Polybase e outros.

Tecnologias obsoletas de acesso a dados

Tecnologias obsoletas são tecnologias que não foram aprimoradas ou atualizadas em várias versões de produtos e que serão excluídas de versões futuras de produtos. Não use essas tecnologias ao escrever novos aplicativos. Ao modificar aplicativos existentes que são escritos usando essas tecnologias, considere migrar esses aplicativos para ADO.NET ou outra tecnologia atual.

Os seguintes componentes são considerados obsoletos:

  • DB-Library: DB-Library é um modelo de programação específico do SQL Server que inclui APIs C. Não houve aprimoramentos de recursos para o DB-Library desde o SQL Server 6.5. Sua versão final foi com o SQL Server 2000 e não será portado para o sistema operacional Windows de 64 bits.
  • SQL incorporado (e-SQL): E-SQL é um modelo de programação específico do SQL Server que permite que Transact-SQL instruções sejam incorporadas no código do Visual C. Nenhum aprimoramento de recurso foi feito para o E-SQL desde o SQL Server 6.5. Sua versão final foi com o SQL Server 2000 e não será portado para o sistema operacional Windows de 64 bits.
  • Objetos de acesso a dados (DAO): DAO fornece acesso a bancos de dados JET (Access). Essa API pode ser usada a partir do Microsoft Visual Basic, Microsoft Visual C++ e linguagens de script. Foi incluído no Microsoft Office 2000 e Office XP. DAO 3.6 é a versão final desta tecnologia. Ele não estará disponível no sistema operacional Windows de 64 bits.
  • Objetos de dados remotos (RDO): O RDO foi projetado especificamente para acessar fontes de dados relacionais ODBC remotas e facilitou o uso do ODBC sem código de aplicativo complexo. Ele foi incluído no Microsoft Visual Basic versões 4, 5 e 6. RDO versão 2.0 foi a versão final desta tecnologia.
  • System.Data.OracleClient: System.Data.OracleClient fornece acesso a servidores de banco de dados Oracle. Ele foi construído usando Oracle Call Interface (OCI) versão 7 e originalmente fornecia suporte completo para Oracle 7. Ele usa emulação Oracle 7 para fornecer suporte limitado para bancos de dados Oracle 8i. A Oracle não suporta mais aplicativos que usam chamadas OCI versão 7. Como resultado, System.Data.OracleClient não é oficialmente suportado para uso no Oracle 9i ou posterior. Essas tecnologias foram preteridas. Se você estiver usando fontes de dados Oracle, deverá migrar para o Oracle Data Provider for .NET (ODP.NET) que é suportado com a versão do Oracle Server que está sendo usada. O namespace System.Data.OracleClient foi oficialmente preterido no .NET Framework 4.0 e não é mais mantido.

Obter ajuda

Contribua para a documentação do SQL

Você sabia que você mesmo pode editar conteúdo SQL? Se o fizer, não só ajudará a melhorar a nossa documentação, como também será creditado como contribuidor da página.

Para obter mais informações, consulte Editar a documentação do Microsoft Learn.