Outils de données Visual Studio pour C++
C++ natif peut souvent fournir les performances les plus rapides lorsque vous accédez à des sources de données. Toutefois, les outils de données pour les applications C++ dans Visual Studio ne sont pas aussi riches que pour les applications .NET. Par exemple, la fenêtre Sources de données ne peut pas être utilisée pour faire glisser-déplacer des sources de données sur une aire de conception C++. Si vous avez besoin d’une couche objet-relationnel, vous devrez écrire la vôtre ou utiliser un produit tiers. Il en va de même pour la fonctionnalité de liaison de données, bien que les applications qui utilisent la bibliothèque de classes Microsoft Foundation puissent utiliser certaines classes de base de données, ainsi que des documents et des vues, pour stocker des données en mémoire et les afficher à l’utilisateur. Pour plus d’informations, consultez Accès aux données dans Visual C++.
Pour se connecter aux bases de données SQL, les applications C++ natives peuvent utiliser les pilotes ODBC et OLE DB et le fournisseur ADO inclus avec Windows. Ceux-ci peuvent se connecter à n’importe quelle base de données qui prend en charge ces interfaces. Le pilote ODBC est la norme. OLE DB est fourni pour la compatibilité descendante. Pour plus d’informations sur ces technologies de données, consultez Composants d’accès aux données Windows.
Pour tirer parti des fonctionnalités personnalisées dans SQL Server 2005 et versions ultérieures, utilisez le SQL Server Native Client. Le client natif contient également le pilote ODBC SQL Server et le fournisseur OLE DB SQL Server dans une bibliothèque de liens dynamiques (DLL) native. Ceux-ci prennent en charge les applications utilisant les API en code natif (ODBC, OLE DB et ADO) pour se connecter à Microsoft SQL Server. SQL Server Native Client s’installe avec SQL Server Data Tools. Le guide de programmation est ici : programmation de SQL Server Native Client.
Pour se connecter à localDB via ODBC et le client natif SQL à partir d’une application C++
Installez SQL Server Data Tools.
Si vous avez besoin d’un échantillon de base de données SQL auquel vous connecter, téléchargez la base de données Northwind et décompressez-la dans un nouvel emplacement.
Utilisez SQL Server Management Studio pour attacher le fichier Northwind.mdf décompressé à localDB. Lorsque SQL Server Management Studio démarre, connectez-vous à (localdb)\MSSQLLocalDB.
Cliquez ensuite avec le bouton droit sur le nœud localdb dans le volet gauche, puis choisissez Attacher.
Téléchargez l’échantillon de SDK ODBC Windows et décompressez-le dans un nouvel emplacement. Cet exemple montre les commandes ODBC de base utilisées pour se connecter à une base de données et émettre des requêtes et des commandes. Pour en savoir plus sur ces fonctions, consultez Microsoft Open Database Connectivity (ODBC). Lorsque vous chargez la solution pour la première fois (elle se trouve dans le dossier C++), Visual Studio vous propose de mettre à niveau la solution vers la version actuelle de Visual Studio. Cliquez sur Oui.
Pour utiliser le client natif, vous avez besoin de son fichier d’en-tête et de son fichier lib . Ces fichiers contiennent des fonctions et des définitions spécifiques à SQL Server, au-delà des fonctions ODBC définies dans
sql.h
. Dans Répertoires VC++>de Propriétés>du Projet, ajoutez le répertoire Include suivant :%ProgramFiles%\Microsoft SQL Server\110\SDK\Lib
Et ce répertoire de bibliothèque :
%ProgramFiles%\Microsoft SQL Server\110\SDK\Lib
Ajoutez ces lignes dans odbcsql.cpp. Le #define empêche la compilation des définitions OLE DB non pertinentes.
#define _SQLNCLI_ODBC_ #include <sqlncli.h>
Notez que l’échantillon n’utilise en fait aucune des fonctionnalités clientes natives. Les étapes précédentes ne sont donc pas nécessaires pour qu’il puisse être compilé et exécuté. Mais le projet est maintenant configuré pour que vous puissiez utiliser cette fonctionnalité. Pour plus d’informations, consultez Programmation de SQL Server Native Client.
Spécifiez le pilote à utiliser dans le sous-système ODBC. L’exemple fait passer l’attribut de chaîne de connexion DRIVER en tant qu’argument de ligne de commande. DansDébogage>des propriétés>du projet, ajoutez cet argument de commande :
DRIVER="SQL Server Native Client 11.0"
Appuyez sur F5 pour générer et exécuter l’application. Vous devez voir une boîte de dialogue à partir du pilote qui vous invite à entrer une base de données. Entrez
(localdb)\MSSQLLocalDB
, puis cochez Utiliser une connexion approuvée. Appuyez sur OK. Vous devriez voir une console avec des messages qui indiquent une connexion réussie. Vous devez également voir une invite de commandes dans laquelle vous pouvez taper une instruction SQL. L’écran suivant montre un exemple de requête et les résultats :