Schnellstart: Abfragen einer Datenbank in Azure SQL-Datenbank oder Azure SQL Managed Instance mithilfe von Node.js
Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance
In dieser Schnellstartanleitung verwenden Sie Node.js, um eine Verbindung mit einer Datenbank herzustellen und Daten abzufragen.
Voraussetzungen
Für die Durchführung dieses Schnellstarts benötigen Sie Folgendes:
Ein Azure-Konto mit einem aktiven Abonnement und einer Datenbank in Azure SQL Database, Azure SQL Managed Instance oder SQL Server auf einer Azure-VM. Sie können kostenlos ein Konto erstellen.
Aktion SQL-Datenbank Verwaltete SQL-Instanz SQL Server auf Azure-VMs Erstellen Portal Portal Portal BEFEHLSZEILENSCHNITTSTELLE (CLI) Bicep PowerShell PowerShell PowerShell Konfigurieren IP-Firewallregel auf Serverebene Verbindung von einem virtuellen Computer Verbindungen von lokalen Computern Herstellen einer Verbindung mit einer SQL Server-Instanz Laden der Daten Wide World Importers, die pro Schnellstart geladen wurden Wiederherstellen von Wide World Importers Wiederherstellen von Wide World Importers Wiederherstellen oder Importieren von AdventureWorks über eine BACPAC-Datei von GitHub Wiederherstellen oder Importieren von AdventureWorks über eine BACPAC-Datei von GitHub Node.js-bezogene Software
Installieren Sie Node.js und dann den ODBC-Treiber mithilfe der Schritte unter Installieren des Microsoft ODBC-Treibers für SQL Server (macOS).
Wichtig
Die Skripts in diesem Artikel wurden für das Verwenden der Datenbank Adventure Works geschrieben.
Ermitteln von Serververbindungsinformationen
Ermitteln Sie die Verbindungsinformationen, die Sie zum Herstellen einer Verbindung mit der Datenbank benötigen. Für die folgenden Schritte benötigen Sie den vollqualifizierten Server- oder Hostnamen, den Datenbanknamen und die Anmeldeinformationen.
Melden Sie sich beim Azure-Portal an.
Wechseln Sie zur Seite SQL-Datenbanken oder Verwaltete SQL-Instanzen.
Auf der Seite Übersicht finden Sie den vollqualifizierten Servernamen für eine Datenbank in Azure SQL-Datenbank neben Servername oder den vollqualifizierten Servernamen (oder die IP-Adresse) für Azure SQL Managed Instance bzw. für SQL Server auf einem virtuellen Azure-Computer neben Host. Um den Namen des Servers oder Hosts zu kopieren, zeigen Sie darauf, und wählen Sie das Symbol Kopieren aus.
Hinweis
Verbindungsinformationen für SQL Server auf einem virtuellen Azure-Computer finden Sie unter Herstellen einer Verbindung mit SQL Server.
Erstellen des Projekts
Öffnen Sie eine Eingabeaufforderung, und erstellen Sie einen Ordner namens sqltest. Öffnen Sie den erstellten Ordner, und führen Sie den folgenden Befehl aus:
npm init -y
npm install mssql
Hinzufügen von Code zum Abfragen der Datenbank
Erstellen Sie in Ihrem bevorzugten Text-Editor eine neue Datei (sqltest.js) in dem Ordner, in dem Sie das Projekt erstellt haben (sqltest).
Ersetzen Sie ihren Inhalt durch den folgenden Code. Fügen Sie anschließend die entsprechenden Werte für Server, Datenbank, Benutzer und Kennwort hinzu.
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); } }
Hinweis
Weitere Informationen zur Verwendung der verwalteten Identität für die Authentifizierung finden Sie im Tutorial zum Zugreifen auf Daten über die verwaltete Identität. Ausführliche Informationen zu den Tedious-Konfigurationsoptionen für Microsoft Entra ID (früher Azure Active Directory) finden Sie in der Tedious-Dokumentation.
Ausführen des Codes
Führen Sie das Programm an der Eingabeaufforderung aus.
node sqltest.js
Vergewissern Sie sich, dass die ersten 20 Zeilen zurückgegeben werden, und schließen Sie das Anwendungsfenster.