Rychlý start: Použití Node.js k dotazování databáze ve službě Azure SQL Database nebo Azure SQL Managed Instance
Platí pro: Azure SQL Database Azure SQL Managed Instance
V tomto rychlém startu použijete Node.js pro připojení k databázi a dotazování dat.
Požadavky
K dokončení tohoto rychlého startu je potřeba:
Účet Azure s aktivním předplatným a databází ve službě Azure SQL Database, Azure SQL Managed Instance nebo SQL Server na virtuálním počítači Azure. Vytvoření účtu zdarma
Akce SQL Database Spravovaná instance SQL SQL Server na virtuálním počítači Azure Vytvoření Azure Portal Azure Portal Azure Portal Rozhraní příkazového řádku Bicep PowerShell PowerShell PowerShell Konfigurovat Pravidlo brány firewall protokolu IP na úrovni serveru Připojení z virtuálního počítače Připojení z místního prostředí Připojení k instanci SQL Serveru Načtení dat Wide World Importers načtené v rámci rychlého startu Obnovit nástroje Wide World Importers Obnovit nástroje Wide World Importers Obnovení nebo import AdventureWorks ze souboru BACPAC z GitHubu Obnovení nebo import AdventureWorks ze souboru BACPAC z GitHubu software související s Node.js
Nainstalujte Node.js a pak nainstalujte ovladač ODBC pomocí postupu instalace ovladače Microsoft ODBC pro SQL Server (macOS).
Důležité
Skripty v tomto článku se zapisují tak, aby používaly databázi AdventureWorks .
Získání informací o připojení k serveru
Získejte informace o připojení, které potřebujete pro připojení k databázi. Pro nadcházející kroky budete potřebovat plně kvalifikovaný název serveru nebo název hostitele, název databáze a přihlašovací údaje.
Přihlaste se k portálu Azure.
Přejděte na stránku SQL Database nebo SQL Managed Instances .
Na stránce Přehled zkontrolujte plně kvalifikovaný název serveru vedle názvu serveru pro databázi ve službě Azure SQL Database nebo plně kvalifikovaný název serveru (nebo IP adresu) vedle hostitele pro službu Azure SQL Managed Instance nebo SQL Server na virtuálním počítači Azure. Pokud chcete zkopírovat název serveru nebo název hostitele, najeďte myší na něj a vyberte ikonu Kopírovat .
Poznámka:
Informace o připojení k SQL Serveru na virtuálním počítači Azure najdete v tématu Připojení k SQL Serveru.
Vytvoření projektu
Otevřete příkazový řádek a vytvořte složku sqltest. Otevřete složku, kterou jste vytvořili, a spusťte následující příkaz:
npm init -y
npm install mssql
Přidání kódu pro dotazování databáze
Ve svém oblíbeném textovém editoru vytvořte nový soubor sqltest.js ve složce, ve které jste vytvořili projekt (sqltest).
Nahraďte jeho obsah následujícím kódem. Pak přidejte příslušné hodnoty pro server, databázi, uživatele a heslo.
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); } }
Poznámka:
Další informace o použití spravované identity pro ověřování najdete v kurzu pro přístup k datům prostřednictvím spravované identity. Podrobnosti o možnostech konfigurace Tedious pro Microsoft Entra ID (dříve Azure Active Directory) jsou k dispozici v dokumentaci Tedious.
Spuštění kódu
Na příkazovém řádku spusťte program.
node sqltest.js
Ověřte, že se vrátí prvních 20 řádků, a zavřete okno aplikace.