Démarrage rapide : Utiliser Node.js pour interroger une base de données dans Azure SQL Database ou Azure SQL Managed Instance
S’applique à : Azure SQL Database Azure SQL Managed Instance
Dans ce guide de démarrage rapide, vous utilisez Node.js pour vous connecter à une base de données et interroger les données.
Prérequis
Pour effectuer ce démarrage rapide, les éléments suivants sont requis :
Un compte Azure avec un abonnement actif et une base de données dans Azure SQL Database, Azure SQL Managed Instance ou SQL Server sur une machine virtuelle Azure. Créez un compte gratuitement.
Action SQL Database Instance managée SQL SQL Server sur une machine virtuelle Azure Créer Portail Portail Portail INTERFACE DE LIGNE DE COMMANDE Bicep PowerShell PowerShell PowerShell Configurer Règle de pare-feu IP au niveau du serveur Connectivité à partir d’une machine virtuelle Connectivité locale Se connecter à une instance SQL Server Chargement des données Wide World Importers chargé par démarrage rapide Restaurer Wide World Importers Restaurer Wide World Importers Restaurer ou importer AdventureWorks à partir d'un fichier BACPAC sur GitHub Restaurer ou importer AdventureWorks à partir d'un fichier BACPAC sur GitHub Logiciels associés à Node.js
Installez Node.js, puis installez le pilote ODBC en suivant les étapes décrites dans Installer Microsoft ODBC Driver for SQL Server (macOS).
Important
Les scripts fournis dans cet article utilisent la base de données AdventureWorks.
Obtenir les informations de connexion du serveur
Obtenez les informations de connexion dont vous avez besoin pour vous connecter à la base de données. Pour les étapes suivantes, vous aurez besoin du nom complet du serveur ou de l’hôte, du nom de la base de données et des informations de connexion.
Connectez-vous au portail Azure.
Accédez à la page Bases de données SQL ou Instances managées SQL.
Dans la page Vue d’ensemble, vérifiez le nom de serveur complet à côté de Nom de serveur pour une base de données dans Azure SQL Database, ou le nom de serveur complet (ou l’adresse IP) à côté de Hôte pour une instance managée Azure SQL ou un serveur SQL sur une machine virtuelle Azure. Pour copier le nom du serveur ou de l’hôte, pointez dessus et sélectionnez l’icône Copier.
Notes
Pour obtenir les informations de connexion de SQL Server sur une machine virtuelle Azure, consultez Se connecter à SQL Server.
Créer le projet
Ouvrez une invite de commandes et créez un dossier nommé sqltest. Ouvrez le dossier que vous avez créé et exécutez la commande suivante :
npm init -y
npm install mssql
Ajouter du code pour interroger la base de données
Dans votre éditeur de texte favori, créez un fichier, sqltest.js, dans le dossier où vous avez créé le projet (sqltest).
Remplacez son contenu par le code ci-dessous. Ensuite, ajoutez les valeurs appropriées pour vos serveur, base de données, utilisateur et mot de passe.
const sql = require('mssql'); const config = { user: 'username', // better stored in an app setting such as process.env.DB_USER password: 'password', // better stored in an app setting such as process.env.DB_PASSWORD server: 'your_server.database.windows.net', // better stored in an app setting such as process.env.DB_SERVER port: 1433, // optional, defaults to 1433, better stored in an app setting such as process.env.DB_PORT database: 'AdventureWorksLT', // better stored in an app setting such as process.env.DB_NAME authentication: { type: 'default' }, options: { encrypt: true } } /* //Use Azure VM Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], port: process.env["db_port"], database: process.env["db_database"], authentication: { type: 'azure-active-directory-msi-vm' }, options: { encrypt: true } } //Use Azure App Service Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], port: process.env["db_port"], database: process.env["db_database"], authentication: { type: 'azure-active-directory-msi-app-service' }, options: { encrypt: true } } */ console.log("Starting..."); connectAndQuery(); async function connectAndQuery() { try { var poolConnection = await sql.connect(config); console.log("Reading rows from the Table..."); var resultSet = await poolConnection.request().query(`SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid`); console.log(`${resultSet.recordset.length} rows returned.`); // output column headers var columns = ""; for (var column in resultSet.recordset.columns) { columns += column + ", "; } console.log("%s\t", columns.substring(0, columns.length - 2)); // output row contents from default record set resultSet.recordset.forEach(row => { console.log("%s\t%s", row.CategoryName, row.ProductName); }); // close connection only when we're certain application is finished poolConnection.close(); } catch (err) { console.error(err.message); } }
Notes
Pour plus d’informations sur l’utilisation d’une identité managée pour l’authentification, suivez le tutoriel sur l’accès aux données à l’aide d’une identité managée. Les détails des options de configuration de Tedious pour Microsoft Entra ID (anciennement Azure Active Directory) sont disponibles dans la documentation de Tedious.
Exécuter le code
À l’invite de commande, exécutez ce programme.
node sqltest.js
Vérifiez que les 20 premières lignes ont été renvoyées et fermez la fenêtre d’application.