Programmazione dell'accesso ai dati (MFC/ATL)
Nel corso degli anni, Visual C++ ha proposto diversi metodi per usare i database. Nel 2011 Microsoft ha annunciato che è in linea con ODBC (Open Database Connectivity) come tecnologia preferita per l'accesso ai prodotti SQL Server dal codice nativo. ODBC è uno standard del settore e l'uso di questa tecnologica consente di ottenere la massima portabilità del codice su più piattaforme e origini dati. La maggior parte dei prodotti database SQL e molti prodotti non SQL supportano ODBC. È possibile usare ODBC chiamando direttamente le API ODBC di basso livello oppure è possibile usare le classi wrapper ODBC MFC o una libreria wrapper C++ di terze parti.
OLE DB è un'API di basso livello, ad alte prestazioni basata sulla specifica COM e supportata solo in Windows. Usare OLE DB se il programma accede a server collegati. ATL offre modelli OLE DB che rendono più semplice creare consumer e provider OLE DB personalizzati. Il provider più recente per Microsoft SQL Server è disponibile nella documentazione relativa alla OLE DB Driver per SQL Server.
Porting di applicazioni dati
Se l'applicazione legacy usa OLE DB o l'interfaccia ADO di livello superiore per connettersi a SQL Server, è consigliabile eseguire la migrazione alla OLE DB Driver per SQL Server più recente per sfruttare le funzionalità più recenti di SQL Server. Un'altra alternativa, se non è necessaria la portabilità multipiattaforma o le funzionalità più recenti di SQL Server, è possibile usare il provider Microsoft OLE DB per ODBC (MSDASQL). MSDASQL consente alle applicazioni basate su OLE DB e ADO (che usa OLE DB internamente) di accedere alle origini dati tramite un driver ODBC. Come qualsiasi livello di conversione, MSDASQL può avere un impatto negativo sulle prestazioni del database. È consigliabile eseguire test per stabilire se l'impatto è significativo per l'applicazione specifica. MSDASQL viene fornito con il sistema operativo Windows e Windows Server 2008 e Windows Vista SP1 sono le prime versioni di Windows a includere una versione a 64 bit della tecnologia.
Se l'applicazione C++ si connette a SQL Server o database SQL di Azure tramite ODBC, deve usare il driver ODBC più recente.
Se si usa C++/CLI, è possibile continuare a usare ADO.NET come sempre. Per altre informazioni, vedere Accesso ai dati tramite ADO.NET (C++/CLI) e Accesso ai dati in Visual Studio.
- Oltre alle classi wrapper ODBC, MFC include classi wrapper DAO (Data Access Objects) per la connessione a database di Access. Tuttavia, DAO è obsoleto. Qualsiasi codice basato su CDaoDatabase o CDaoRecordset deve essere aggiornato.
Per altre informazioni sulla storia delle tecnologie di accesso ai dati in Microsoft Windows, vedere Microsoft Data Access Components (Wikipedia).