Se connecter à SQL Database à l’aide de C et C++
S’applique à : Azure SQL Database
Cet article aide les développeurs C et C++ à se connecter à Azure SQL Database.
Prérequis
Pour réaliser les étapes présentées dans ce guide, vous avez besoin de ce qui suit :
- Un compte Azure actif. Si vous n’en avez pas, vous pouvez vous inscrire pour bénéficier d’un essai gratuit des services Azuredès aujourd’hui.
- Visual Studio. Vous devez installer les composants du langage C++ pour générer et exécuter cet exemple.
- Développement Visual Studio Linux. Si vous développez sur Linux, vous devez également installer l’extension Visual Studio Linux.
Technologies d’accès aux données : ODBC et OLE DB
Il existe actuellement deux moyens de se connecter à Azure SQL Database : ODBC (Open Database Connectivity) et OLE DB (Object Linking and Embedding Database). Ces dernières années, Microsoft s’est aligné sur ODBC pour l’accès aux données relationnelles natives. ODBC est beaucoup plus rapide qu’OLE DB. Le seul inconvénient ici est qu’ODBC utilise une API de style C ancienne.
Créer votre base de données SQL Azure
Consultez la page de prise en main pour apprendre à créer un exemple de base de données. Sinon, vous pouvez suivre cette vidéo de deux minutes pour créer une instance Azure SQL Database à l’aide du portail Azure.
Obtention de la chaîne de connexion
Une fois votre instance Azure SQL Database approvisionnée, vous devez exécuter les étapes suivantes pour déterminer les informations de connexion et ajouter l’adresse IP de votre client pour l’accès au pare-feu.
Dans le portail Azure, accédez à la chaîne de connexion ODBC de votre instance Azure SQL Database en cliquant sur Afficher les chaînes de connexion de la base de données dans la section Vue d’ensemble de votre base de données :
Copiez le contenu de la chaîne ODBC (Inclut Node.js) [Authentification SQL] . Nous utiliserons cette chaîne ultérieurement pour la connexion à partir de l’interpréteur de ligne de commande ODBC C++. Cette chaîne fournit des détails tels que le pilote, le serveur et d’autres paramètres de connexion de base de données.
Ajout de votre adresse IP au pare-feu
Accédez à la section du pare-feu de votre serveur et ajoutez l’adresse IP de votre client au pare-feu à l’aide de ces étapes pour permettre l’établissement d’une connexion :
À ce stade, vous avez configuré votre instance Azure SQL Database et êtes prêt à vous connecter à partir de votre code C++.
Connexion à partir d’une application C/C++ Windows
Vous pouvez facilement vous connecter à votre instance Azure SQL Database à l’aide d’ODBC sur Windows en utilisant cet exemple, généré avec Visual Studio. L’exemple implémente un interpréteur de ligne de commande ODBC qui peut être utilisé pour se connecter à l’instance Azure SQL Database. Cet exemple prend comme argument de ligne de commande un fichier de nom de source de base de données (DSN) ou la chaîne de connexion détaillée copiée précédemment à partir du portail Azure. Affichez la page de propriétés de ce projet et collez la chaîne de connexion en tant qu’argument de commande, comme illustré ici :
Prenez soin d’inclure les informations d’authentification correctes pour votre base de données dans la chaîne de connexion de cette base de données.
Lancez l’application pour la générer. La fenêtre de confirmation de la connexion suivante doit s’afficher. Vous pouvez même exécuter des commandes SQL de base telles que create table pour valider la connectivité de votre base de données :
Vous pouvez aussi créer un fichier DSN à l’aide de l’assistant qui est lancé lorsqu’aucun argument de commande n’est fourni. Nous vous recommandons d’essayer également cette option. Vous pouvez utiliser ce fichier DSN à des fins d’automatisation et pour protéger vos paramètres d’authentification :
Félicitations ! Vous avez réussi à vous connecter à Azure SQL à l’aide de C++ et ODBC sur Windows. Vous pouvez poursuivre la lecture pour faire de même sur une plateforme Linux.
Connexion à partir d’une application C/C++ Linux
Vous pouvez développer des applications C++ pour Linux dans Visual Studio. Pour en savoir plus, consultez le billet de blog suivant : Visual C++ pour le développement sous Linux.
Pour générer des applications pour Linux, vous avez besoin d’un ordinateur distant sur lequel s’exécute votre distribution Linux. Si vous n’en avez pas, vous pouvez en configurer un rapidement à l’aide de machines virtuelles Azure Linux.
Ce guide part du principe que vous disposez d’une distribution Linux Ubuntu 16.04. Les étapes s’appliquent également à Ubuntu 15.10, Red Hat 6 et Red Hat 7.
Les étapes suivantes permettent d’installer les bibliothèques nécessaires à SQL et ODBC pour votre distribution :
sudo su
sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/mssql-ubuntu-test/ xenial main" > /etc/apt/sources.list.d/mssqlpreview.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
apt-get update
apt-get install msodbcsql
apt-get install unixodbc-dev-utf16 #this step is optional but recommended*
Lancez Visual Studio. Sous Outils -> Options -> Multiplateforme -> Gestionnaire de connexions, ajoutez une connexion à votre boîte Linux :
Une fois la connexion via SSH établie, créez un modèle de projet vide (Linux) :
Vous pouvez ensuite ajouter un nouveau fichier source C et le remplacer par ce contenu. À l’aide des API ODBC SQLAllocHandle, SQLSetConnectAttr et SQLDriverConnect, vous devriez pouvoir initialiser et établir une connexion à votre base de données. Comme pour l’exemple ODBC Windows, vous devez remplacer l’appel de SQLDriverConnect avec les détails des paramètres de la chaîne de connexion à votre base de données copiés à partir du portail Azure précédemment.
retcode = SQLDriverConnect(
hdbc, NULL, "Driver=ODBC Driver 13 for SQL"
"Server;Server=<yourserver>;Uid=<yourusername>;Pwd=<"
"yourpassword>;database=<yourdatabase>",
SQL_NTS, outstr, sizeof(outstr), &outstrlen, SQL_DRIVER_NOPROMPT);
La dernière chose à faire avant de procéder à la compilation consiste à ajouter odbc en tant que dépendance de bibliothèque :
Pour lancer votre application, affichez la Console Linux à partir du menu Déboguer :
Si votre connexion a réussi, le nom de la base de données actuelle doit être indiqué dans la Console Linux :
Félicitations ! Vous avez terminé le guide et pouvez maintenant vous connecter à votre instance Azure SQL Database à partir de C++ sur les plateformes Windows et Linux.
Obtenir la solution complète du didacticiel C/C++
Vous trouverez la solution GetStarted qui contient tous les exemples de cet article sur GitHub :
- Exemple ODBC C++ Windows : téléchargez l’exemple ODBC C++ Windows pour la connexion à Azure SQL
- Exemple ODBC C++ Linux : téléchargez l’exemple ODBC C++ Linux pour la connexion à Azure SQL
Contenu connexe
- Consultez la Vue d’ensemble du développement de base de données SQL
- Pour plus d’informations sur les API ODBC, consultez ces informations de référence
- Modèles de conception pour les applications SaaS multilocataires avec Azure SQL Database
- Explorez toutes les fonctionnalités de la base de données SQL