Partilhar via


Programação de Acesso a Dados (MFC/ATL)

Ao longo dos anos, o Visual C++ forneceu várias maneiras de trabalhar com bancos de dados. Em 2011, a Microsoft anunciou que estaria se alinhando com o ODBC (Open Database Connectivity) como a tecnologia preferencial para acessar produtos do SQL Server de código nativo. O ODBC é um padrão do setor e, ao usá-lo, você obtém o máximo de portabilidade de código em várias plataformas e fontes de dados. A maioria dos produtos de banco de dados SQL e muitos produtos NoSQL dão suporte ao ODBC. Você pode usar o ODBC diretamente, chamando as APIs de ODBC de nível inferior, ou você pode usar as classes wrapper de ODBC do MFC ou em uma biblioteca wrapper de C++ de terceiros.

A OLE DB é uma API de nível baixo e alto desempenho com base na especificação COM e só tem suporte no Windows. Use a OLE DB se seu programa estiver acessando servidores vinculados. A ATL fornece modelos de OLE DB que facilitam a criação de consumidores e provedores OLE DB personalizados. O provedor mais recente da Microsoft SQL Server pode ser encontrado na documentação do Driver do OLE DB para SQL Server.

Portabilidade de aplicativos de dados

Se o aplicativo herdado usar o OLE DB ou a interface de nível superior ADO para se conectar ao SQL Server, considere migrar para o Driver do OLE DB para SQL Server mais recente para aproveitar os recursos mais recentes do SQL Server. Outra alternativa, se não precisa de portabilidade multiplataforma ou dos recursos mais recentes do SQL Server, você pode usar o Provedor Microsoft OLE DB para ODBC (MSDASQL). O MSDASQL permite que os aplicativos que são criados com base em OLE DB e ADO (que usa internamente OLEDB) acessem fontes de dados por meio de um driver ODBC. Assim como acontece com qualquer camada de translação, o MSDASQL pode afetar o desempenho do banco de dados. Você deve testar para determinar se o impacto é significativo para seu aplicativo. O MSDASQL é fornecido com o sistema operacional Windows e o Windows Server 2008 e Windows Vista SP1 são as primeira versões a incluir uma versão de 64 bits da tecnologia.

Se seus novos aplicativos de C++ se conectarem ao SQL Server ou ao Banco de Dados SQL do Azure por meio de ODBC, eles deverão usar o driver ODBC mais recente.

Se você usa C++/CLI, você pode continuar a usar o ADO.NET como sempre. Para obter mais informações, consulte Acesso a dados usando ADO.NET (C++/CLI) e Acesso a dados no Visual Studio.

  • Além das classes wrapper de ODBC, o MFC também fornece as classes wrapper de DAO (Objetos de Acesso a Dados) para se conectar aos bancos de dados do Access. No entanto, o DAO está obsoleto. Qualquer código com base em CDaoDatabase ou CDaoRecordset deve ser atualizado.

Para obter mais informações sobre o histórico de tecnologias de acesso a dados no Microsoft Windows, consulte Microsoft Data Access Components (Wikipédia).

Confira também

Acesso a dados
Microsoft ODBC (Open Database Connectivity)