Dela via


Programmering av dataåtkomst (MFC/ATL)

Under årens lopp har Visual C++ gett flera sätt att arbeta med databaser. År 2011 meddelade Microsoft att det anpassar sig efter Open Database Connectivity (ODBC) som den föredragna tekniken för att komma åt SQL Server-produkter från ursprunglig kod. ODBC är en branschstandard och genom att använda den får du maximal portabilitet för din kod över flera plattformar och datakällor. De flesta SQL-databasprodukter och många NoSQL-produkter stöder ODBC. Du kan använda ODBC direkt genom att anropa ODBC-API:er på låg nivå, eller så kan du använda MFC ODBC-omslutningsklasserna eller ett C++-omslutningsbibliotek från tredje part.

OLE DB är ett lågnivå-API med höga prestanda baserat på COM-specifikationen och stöds endast i Windows. Använd OLE DB om programmet har åtkomst till länkade servrar. ATL tillhandahåller OLE DB-mallar som gör det enklare att skapa anpassade OLE DB-leverantörer och konsumenter. Den senaste providern för Microsoft SQL Server finns i dokumentationen för OLE DB-drivrutinen för SQL Server.

Portning av dataprogram

Om ditt äldre program använder OLE DB eller ADO-gränssnittet på högre nivå för att ansluta till SQL Server bör du överväga att migrera till den senaste OLE DB-drivrutinen för SQL Server för att dra nytta av de senaste SQL Server-funktionerna. Ett annat alternativ är att om du inte kräver plattformsoberoende portabilitet eller de senaste SQL Server-funktionerna kan du eventuellt använda Microsoft OLE DB-providern för ODBC (MSDASQL). MSDASQL tillåter program som bygger på OLE DB och ADO (som använder OLEDB internt) för att komma åt datakällor via en ODBC-drivrutin. Precis som med alla översättningslager kan MSDASQL påverka databasens prestanda. Du bör testa för att avgöra om effekten är betydande för ditt program. MSDASQL levereras med Windows-operativsystemet och Windows Server 2008 och Windows Vista SP1 är de första Windows-versionerna som innehåller en 64-bitarsversion av tekniken.

Om ditt C++-program ansluter till SQL Server eller Azure SQL Database via ODBC bör det använda den senaste ODBC-drivrutinen.

Om du använder C++/CLI kan du fortsätta att använda ADO.NET som alltid. Mer information finns i Dataåtkomst med hjälp av ADO.NET (C++/CLI) och Åtkomst till data i Visual Studio.

  • Förutom ODBC-omslutningsklasserna tillhandahåller MFC även DAO-omslutningsklasser (Data Access Objects) för anslutning till Access-databaser. DAO är dock föråldrat. All kod som baseras på CDaoDatabase eller CDaoRecordset bör uppgraderas.

Mer information om historiken för dataåtkomsttekniker i Microsoft Windows finns i Microsoft Data Access Components (Wikipedia).

Se även

Dataåtkomst
Microsoft Open Database Connectivity (ODBC)