Snabbstart: Använd Node.js för att köra frågor mot en databas i Azure SQL Database eller Azure SQL Managed Instance
GÄLLER FÖR:
Azure SQL Database Azure 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ör att slutföra den här snabbstarten behöver du:
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Åtgärd SQL Database SQL-hanterad instans SQL Server på virtuella Azure-datorer Skapa Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell Konfigurera IP-brandväggsregel på servernivå Anslutning från en virtuell dator Anslutning från lokal plats Anslut till en SQL Server instans Läsa in data AdventureWorks som lästs in per snabbstart Återställa Wide World Importers Återställa Wide World Importers Återställa eller importera Adventure Works från en BACPAC-fil från GitHub Återställa eller importera Adventure Works från en BACPAC-fil från GitHub Node.js-relaterad programvara
Installera Homebrew och Node.js och installera sedan ODBC-drivrutinen och SQLCMD med hjälp av steg 1.2 och 1.3 i Skapa Node.js-apparmed hjälp av SQL Server på macOS .
Viktigt
Skripten i den här artikeln skrivs för att använda Adventure Works-databasen.
Anteckning
Du kan välja att använda en Azure SQL Managed Instance.
Om du vill skapa och konfigurera använder du Azure Portal, PowerShelleller CLIoch konfigurerar sedan lokal anslutning eller VM-anslutning.
Information om hur du läser in data finns i Återställa med BACPAC med Adventure Works-filen eller se återställa Wide World Importers-databasen.
Hämta information om serveranslutning
Hämta anslutningsinformationen som du behöver för att ansluta till databasen i Azure SQL Database. Du behöver det fullständiga servernamnet eller värdnamnet, databasnamnet och inloggningsinformationen för de kommande procedurerna.
Logga in på Azure-portalen.
Gå till sidan SQL Databaser 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 Hanterad Azure SQL-instans eller SQL Server på en virtuell Azure-dator. Om du vill kopiera servernamnet eller värdnamnet hovrar du över det och väljer ikonen Kopiera.
Anteckning
Anslutningsinformation för virtuella datorer SQL Server Virtuella Azure-datorer 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 tedious
Lägga till kod för att fråga databasen
Skapa en ny fil, sqltest.js, i valfri textredigerare.
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 { Connection, Request } = require("tedious"); // Create connection to database const config = { authentication: { options: { userName: "username", // update me password: "password" // update me }, type: "default" }, server: "your_server.database.windows.net", // update me options: { database: "your_database", //update me encrypt: true } }; /* //Use Azure VM Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], authentication: { type: 'azure-active-directory-msi-vm', }, options: { database: process.env["db_database"], encrypt: true, port: 1433 } }; //Use Azure App Service Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], authentication: { type: 'azure-active-directory-msi-app-service', }, options: { database: process.env["db_database"], encrypt: true, port: 1433 } }); */ const connection = new Connection(config); // Attempt to connect and execute queries if connection goes through connection.on("connect", err => { if (err) { console.error(err.message); } else { queryDatabase(); } }); connection.connect(); function queryDatabase() { console.log("Reading rows from the Table..."); // Read all rows from table const request = new Request( `SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid`, (err, rowCount) => { if (err) { console.error(err.message); } else { console.log(`${rowCount} row(s) returned`); } } ); request.on("row", columns => { columns.forEach(column => { console.log("%s\t%s", column.metadata.colName, column.value); }); }); connection.execSql(request); }
Anteckning
Om du vill ha mer information om hur du använder hanterad identitet för autentisering slutför du självstudien för att komma åt data via hanterad identitet.
Anteckning
Kodexe exemplet använder exempeldatabasen AdventureWorksLT i Azure SQL Database.
Kör koden
Kör programmet i kommandotolken.
node sqltest.jsKontrollera att de 20 översta raderna returneras och stäng programfönstret.
Nästa steg
Ansluta och köra frågor på Windows/Linux/macOS med .NET core, Visual Studio Code eller SSMS (endast Windows)
Komma igång med .NET Core för Windows/Linux/macOS med hjälp av kommandoraden
Utforma din första databas i Azure SQL Database .NET eller SSMS