Condividi tramite


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).

Vedi anche

Accesso ai dati
Microsoft Open Database Connectivity (ODBC)