Datové nástroje sady Visual Studio pro C++
Nativní jazyk C++ často poskytuje nejrychlejší výkon při přístupu ke zdrojům dat. Datové nástroje pro aplikace jazyka C++ v sadě Visual Studio však nejsou tak bohaté, jako jsou pro aplikace .NET. Například okno Zdroje dat nelze použít k přetažení zdrojů dat na návrhovou plochu jazyka C++. Pokud potřebujete objektově-relační vrstvu, budete muset napsat vlastní nebo použít produkt třetí strany. Totéž platí pro funkce vazby dat, i když aplikace, které používají knihovnu Microsoft Foundation Class, mohou používat některé databázové třídy společně s dokumenty a zobrazeními k ukládání dat do paměti a jejich zobrazení pro uživatele. Další informace naleznete v tématu Přístup k datům v jazyce Visual C++.
Pro připojení k databázím SQL můžou nativní aplikace C++ používat ovladače ODBC a OLE DB a zprostředkovatele ADO, které jsou součástí Windows. Ty se můžou připojit k jakékoli databázi, která tato rozhraní podporuje. Ovladač ODBC je standardní. Ole DB je poskytována pro zpětnou kompatibilitu. Další informace o těchto datových technologiích naleznete v tématu Součásti přístupu k datům systému Windows.
Pokud chcete využít výhod vlastních funkcí v SQL Serveru 2005 a novějším, použijte nativního klienta SQL Serveru. Nativní klient obsahuje také ovladač ODBC systému SQL Server a zprostředkovatele SQL Server OLE DB v jedné nativní dynamické knihovně (DLL). Tyto aplikace podporují rozhraní API nativního kódu (ODBC, OLE DB a ADO) na Microsoft SQL Server. SQL Server Native Client se instaluje pomocí SQL Server Data Tools. Průvodce programováním je tady: nativní programování klienta SQL Serveru.
Připojení k localDB prostřednictvím rozhraní ODBC a nativního klienta SQL z aplikace jazyka C++
Nainstalujte SQL Server Data Tools.
Pokud potřebujete ukázkovou databázi SQL pro připojení, stáhněte si databázi Northwind a rozbalte ji do nového umístění.
Pomocí aplikace SQL Server Management Studio připojte rozbalený soubor Northwind.mdf k localDB. Při spuštění aplikace SQL Server Management Studio se připojte k databázi (localdb)\MSSQLLocalDB.
Potom klikněte pravým tlačítkem myši na uzel localdb v levém podokně a zvolte Připojit.
Stáhněte si ukázku sady ODBC Windows SDK a rozbalte ji do nového umístění. Tato ukázka ukazuje základní příkazy ODBC, které slouží k připojení k databázi a vydávání dotazů a příkazů. Další informace o těchto funkcích najdete v rozhraní MICROSOFT Open Database Připojení ivity (ODBC). Při prvním načtení řešení (je ve složce C++), sada Visual Studio nabídne upgrade řešení na aktuální verzi sady Visual Studio. Klepněte na tlačítko Ano.
Pokud chcete použít nativního klienta, potřebujete jeho hlavičkový soubor a soubor lib . Tyto soubory obsahují funkce a definice specifické pro SQL Server nad rámec funkcí ODBC definovaných v
sql.h
. Do adresářů vlastností>projektu>VC++ přidejte následující adresář:%ProgramFiles%\Microsoft SQL Server\110\SDK\Include
A tento adresář knihovny:
%ProgramFiles%\Microsoft SQL Server\110\SDK\Lib
Přidejte tyto řádky do odbcsql.cpp. #define zabraňuje kompilaci irelevantních definic OLE DB.
#define _SQLNCLI_ODBC_ #include <sqlncli.h>
Všimněte si, že ukázka ve skutečnosti nepoužívá žádnou z nativních klientských funkcí, takže předchozí kroky nejsou nutné ke kompilaci a spuštění. Projekt je teď ale nakonfigurovaný tak, aby tuto funkci používal. Další informace naleznete v tématu SQL Server Native Client programování.
Určete, který ovladač se má použít v subsystému ODBC. Ukázka předá atribut DRIVER připojovací řetězec jako argument příkazového řádku. Do ladění vlastností>projektu>přidejte tento argument příkazu:
DRIVER="SQL Server Native Client 11.0"
Stiskněte F5, aby se aplikace sestavila a spustila. Mělo by se zobrazit dialogové okno z ovladače, které vás vyzve k zadání databáze. Zadejte
(localdb)\MSSQLLocalDB
a zaškrtněte políčko Použít důvěryhodné Připojení ion. Stiskněte OK. Měla by se zobrazit konzola se zprávami, které označují úspěšné připojení. Měli byste také vidět příkazový řádek, do kterého můžete zadat příkaz SQL. Následující obrazovka ukazuje příklad dotazu a výsledků: