Snabbstart: Använd Node.js för att fråga en databas i Azure SQL Database eller Azure SQL Managed Instance
Gäller för:Azure SQL DatabaseAzure SQL Managed Instance
I den här snabbstarten använder du Node.js för att ansluta till en databas och fråga efter data.
Förutsättningar
Följande krävs för att slutföra den här snabbstarten:
Ett Azure-konto med en aktiv prenumeration och en databas i Azure SQL Database, Azure SQL Managed Instance eller SQL Server på en virtuell Azure-dator. Skapa ett konto utan kostnad.
Åtgärd SQL Database SQL-hanterad instans SQL Server på virtuell Azure-dator Skapa Portal Portal Portal CLI Bicep PowerShell PowerShell PowerShell Konfigurera IP-brandväggsregel på servernivå Anslutning från en virtuell dator Anslut ivitet lokalt Anslut till en SQL Server-instans Läsa in data Wide World Importers laddade per snabbstart Återställa Wide World Importers Återställa Wide World Importers Återställa eller importera AdventureWorks från en BACPAC-fil från GitHub Återställa eller importera AdventureWorks från en BACPAC-fil från GitHub Node.js-relaterad programvara
Installera Node.js och installera sedan ODBC-drivrutinen med hjälp av stegen i Installera Microsoft ODBC-drivrutinen för SQL Server (macOS).
Viktigt!
Skripten i den här artikeln skrivs för att använda AdventureWorks-databasen .
Hämta serveranslutningsinformation
Hämta den anslutningsinformation som du behöver för att ansluta till databasen. Du behöver det fullständigt kvalificerade servernamnet eller värdnamnet, databasnamnet och inloggningsinformationen för de kommande stegen.
Logga in på Azure-portalen.
Gå till sidan SQL-databaser eller SQL-hanterade instanser .
På sidan Översikt granskar du det fullständigt kvalificerade servernamnet bredvid Servernamn för en databas i Azure SQL Database eller det fullständigt kvalificerade servernamnet (eller IP-adressen) bredvid Värd för en Azure SQL Managed Instance eller SQL Server på en virtuell Azure-dator. Om du vill kopiera servernamnet eller värdnamnet hovrar du över det och markerar ikonen Kopiera.
Kommentar
Anslutningsinformation för SQL Server på en virtuell Azure-dator finns i Anslut till SQL Server.
Skapa projektet
Öppna en kommandotolk och skapa en mapp med namnet sqltest. Öppna mappen som du skapade och kör följande kommando:
npm init -y
npm install mssql
Lägga till kod för att fråga databasen
I din favorittextredigerare skapar du en ny fil, sqltest.js, i mappen där du skapade projektet (sqltest).
Ersätt dess innehåll med följande kod. Lägg sedan till lämpliga värden för servern, databas, användare och lösenord.
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); } }
Kommentar
Mer information om hur du använder hanterad identitet för autentisering finns i självstudien för att komma åt data via hanterad identitet. Information om Tedious-konfigurationsalternativen för Microsoft Entra-ID (tidigare Azure Active Directory) finns i Tedious-dokumentationen.
Kör koden
Kör programmet i kommandotolken.
node sqltest.js
Kontrollera att de 20 översta raderna returneras och stäng programfönstret.