Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 och en databas i Azure SQL Database, Azure SQL Managed Instance eller SQL Server på en virtuell Azure-dator. Skapa ett konto kostnadsfritt. Skripten i den här artikeln skrivs för att använda exempeldatabasen
AdventureWorksLT.Åtgärd SQL-databas SQL-hanterad instans SQL Server på en virtuell Azure-dator Skapa Portal Portal Portal CLI Biceps PowerShell PowerShell PowerShell Konfigurera IP-brandväggsregel på servernivå Anslutning från en virtuell dator Anslutning från lokal infrastruktur Anslut till en SQL Server-instans Ladda data Wide World Importers laddades enligt snabbstart Återställ Wide World Importers Återställ Wide World Importers Återställa eller importera AdventureWorksLTfrån en BACPAC- fil från GitHubÅterställa eller importera AdventureWorksLTfrån en BACPAC- fil från GitHubInstallera Node.js programvara.
Installera ODBC-drivrutinen som är relevant för operativsystemet.
Installera Node.js och installera sedan ODBC-drivrutinen med hjälp av stegen i Installera Microsoft ODBC-drivrutinen för SQL Server (macOS).
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 Hanterad Azure SQL-instans eller SQL Server på en virtuell Azure-dator. Om du vill kopiera servernamnet eller värdnamnet hovra över det och välj ikonen Kopiera.
Anmärkning
Anslutningsinformation för SQL Server på en virtuell Azure-dator finns i Ansluta 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 innehållet med följande kod. Lägg sedan till lämpliga värden för din server, 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)); // 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); } }
Anmärkning
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.jsKontrollera att de 20 översta raderna returneras och stäng programfönstret.