Quickstart: Node.js gebruiken om een query uit te voeren op een database in Azure SQL Database of Azure SQL Managed Instance
Van toepassing op: Azure SQL DatabaseAzure SQL Managed Instance
In deze quickstart gebruikt u Node.js om verbinding te maken met een database en een query uit te voeren op gegevens.
Vereisten
U hebt het volgende nodig om deze snelstartgids te voltooien:
Een Azure-account met een actief abonnement en een database in Azure SQL Database, Azure SQL Managed Instance of SQL Server op Azure VM. Gratis een account maken
Actie SQL Database SQL Managed Instance SQL Server op Azure VM Create Portal Portal Portal CLI Bicep PowerShell PowerShell PowerShell Configureren IP-firewallregel op serverniveau Connectiviteit vanaf een VM Connectiviteit vanaf on-premises Verbinding maken met een SQL Server-exemplaar Gegevens laden Wide World Importers geladen per quickstart Wide World Importers herstellen Wide World Importers herstellen AdventureWorks herstellen of importeren vanuit een BACPAC-bestand vanuit GitHub AdventureWorks herstellen of importeren vanuit een BACPAC-bestand vanuit GitHub Node.js-gerelateerde software
Installeer Node.js en installeer vervolgens het ODBC-stuurprogramma met behulp van de stappen voor het installeren van het Microsoft ODBC-stuurprogramma voor SQL Server (macOS).
Belangrijk
De scripts in dit artikel worden geschreven om de AdventureWorks-database te gebruiken.
Serververbindingsgegevens ophalen
Haal de verbindingsgegevens op die u nodig hebt om verbinding te maken met de database. Voor de komende stappen hebt u de volledig gekwalificeerde servernaam of hostnaam, databasenaam en aanmeldingsgegevens nodig.
Meld u aan bij de Azure-portal.
Ga naar de pagina SQL-databases of Met SQL beheerde exemplaren.
Bekijk op de pagina Overzicht de volledig gekwalificeerde servernaam naast Servernaam voor een database in Azure SQL Database of de volledig gekwalificeerde servernaam (of het IP-adres) naast Host voor een met Azure SQL beheerd exemplaar of SQL Server op de Azure-VM. Als u de servernaam of hostnaam wilt kopiƫren, plaatst u de muisaanwijzer erop en selecteert u het pictogram Kopiƫren.
Notitie
Zie Verbinding maken met SQL Server voor meer informatie over de verbinding van SQL Server op een Azure-VM.
Het project maken
Open een opdrachtprompt en maak een map met de naam sqltest. Open de map die u hebt gemaakt en voer de volgende opdracht uit:
npm init -y
npm install mssql
Code toevoegen om een query uit te voeren op de database
Maak in uw favoriete teksteditor een nieuw bestand, sqltest.js, in de map waarin u het project (sqltest) hebt gemaakt.
Vervang de inhoud ervan door de volgende code. Voeg vervolgens de juiste waarden toe voor uw server, database, gebruiker en wachtwoord.
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)); // ouput 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); } }
Notitie
Voltooi de zelfstudie voor toegang tot gegevens via een beheerde identiteit voor meer informatie over het gebruik van beheerde identiteiten voor verificatie. Details over de tedious-configuratieopties voor Microsoft Entra ID (voorheen Azure Active Directory) zijn beschikbaar in de Tedious-documentatie.
De code uitvoeren
Voer het programma uit bij de opdrachtprompt.
node sqltest.js
Controleer de bovenste 20 rijen die worden geretourneerd en sluit het toepassingsvenster.