Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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 à vos chaînes de connexion Azure SQL Database en utilisant l'option Afficher les chaînes de connexion de la base de données répertoriée dans la section Vue d’ensemble de votre base de données :
Sélectionnez l’onglet ODBC .
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 à votre serveur logique Azure SQL Database. Sélectionnez le lien du nom du serveur dans la page Vue d’ensemble de votre base de données SQL ou accédez-y via la recherche du portail Azure.
- Sous Sécurité, sélectionnez Mise en réseau.
- Sous l’onglet Accès public , sélectionnez Réseaux sélectionnés si ce n’est pas déjà fait.
- Ajoutez votre adresse IP cliente au pare-feu à l’aide de ces étapes pour vous assurer que nous pouvons établir une connexion réussie. Sélectionnez Ajouter votre adresse IPv4 cliente ou ajoutez une règle de pare-feu.
À ce stade, vous avez configuré votre base de données Azure SQL et êtes prêt à vous connecter à partir de votre code C++ à partir de votre station de travail.
Conseil / Astuce
L’ajout de l’adresse IP de station de travail de votre client au pare-feu de réseau public est acceptable pour une configuration temporaire de laboratoire ou d’apprentissage, mais pour une solution d’entreprise ou un projet de longue durée, suivez les bonnes pratiques de sécurité suivantes :
- Définissez Autoriser les services et ressources Azure à accéder à ce serveur sur OFF au niveau du serveur.
- Utilisez des points de terminaison de service VNet et des règles de pare-feu de réseau virtuel.
- Utilisez une liaison privée.
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 certaines commandes SQL de base comme CREATE TABLE 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 et de diverses méthodes de déploiement.
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 ->Plateforme multi-OS ->Gestionnaire de connexions, ajoutez une connexion à votre machine 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 SQLAllocHandleAPI ODBC, SQLSetConnectAttret SQLDriverConnect, vous devez être en mesure d’initialiser et d’établir une connexion à votre base de données.
Comme avec l’exemple ODBC Windows, vous devez remplacer l’appel SQLDriverConnect par les détails de vos paramètres de chaîne de connexion de 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="
"<password>;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 GetStarted solution 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