Szybki start: wykonywanie zapytań dotyczących bazy danych w usłudze Azure SQL Database lub Azure SQL Managed Instance przy użyciu Node.js
Dotyczy: Azure SQL Database Azure SQL Managed Instance
W tym przewodniku Szybki start użyjesz Node.js do nawiązania połączenia z bazą danych i wykonywania zapytań o dane.
Wymagania wstępne
Aby ukończyć ten przewodnik Szybki Start, musisz spełnić następujące warunki:
Konto platformy Azure z aktywną subskrypcją i bazą danych w usłudze Azure SQL Database, usłudze Azure SQL Managed Instance lub programie SQL Server na maszynie wirtualnej platformy Azure. Utwórz konto bezpłatnie.
Akcja SQL Database Wystąpienie zarządzane SQL Program SQL Server na maszynie wirtualnej platformy Azure Utworzenie Portal Portal Portal Interfejs wiersza polecenia Bicep Program PowerShell Program PowerShell Program PowerShell Konfiguruj Reguła zapory bazująca na adresach IP na poziomie serwera Łączność z maszyny wirtualnej Łączność ze środowiska lokalnego Nawiązywanie połączenia z wystąpieniem programu SQL Server Ładowanie danych Załadowane narzędzia Wide World Importers na przewodnik Szybki start Przywracanie bazy danych Wide World Importers Przywracanie bazy danych Wide World Importers Przywracanie lub importowanie bazy danych AdventureWorks z pliku BACPAC z usługi GitHub Przywracanie lub importowanie bazy danych AdventureWorks z pliku BACPAC z usługi GitHub oprogramowanie związane z Node.js
Zainstaluj Node.js, a następnie zainstaluj sterownik ODBC, wykonując kroki opisane w temacie Instalowanie sterownika MICROSOFT ODBC dla programu SQL Server (macOS).
Ważne
Skrypty w tym artykule są napisane w celu korzystania z bazy danych AdventureWorks .
Uzyskiwanie informacji o połączeniu z serwerem
Uzyskaj informacje o połączeniu, które należy połączyć z bazą danych. Do wykonania kolejnych kroków będą potrzebne w pełni kwalifikowana nazwa serwera lub nazwa hosta, nazwa bazy danych i informacje logowania.
Zaloguj się w witrynie Azure Portal.
Przejdź do strony Bazy danych SQL lub Wystąpienia zarządzane SQL.
Na stronie Przegląd przejrzyj w pełni kwalifikowaną nazwę serwera obok pozycji Nazwa serwera bazy danych w usłudze Azure SQL Database lub w pełni kwalifikowaną nazwę serwera (lub adres IP) obok pozycji Host dla usługi Azure SQL Managed Instance lub programu SQL Server na maszynie wirtualnej platformy Azure. Aby skopiować nazwę serwera lub hosta, umieść na niej wskaźnik myszy i wybierz ikonę Kopiuj.
Uwaga
Aby uzyskać informacje o połączeniu dla programu SQL Server na maszynie wirtualnej platformy Azure, zobacz Nawiązywanie połączenia z programem SQL Server.
Tworzenie projektu
Otwórz wiersz polecenia i utwórz folder o nazwie sqltest. Otwórz utworzony folder i uruchom następujące polecenie:
npm init -y
npm install mssql
Dodawanie kodu w celu wykonywania zapytań względem bazy danych
W ulubionym edytorze tekstów utwórz nowy plik, sqltest.js, w folderze, w którym utworzono projekt (sqltest).
Zastąp jego zawartość poniższym kodem. Następnie dodaj odpowiednie wartości dla swojego serwera, bazy danych, użytkownika i hasła.
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); } }
Uwaga
Aby uzyskać więcej informacji na temat używania tożsamości zarządzanej do uwierzytelniania, ukończ samouczek uzyskiwania dostępu do danych za pośrednictwem tożsamości zarządzanej. Szczegółowe informacje na temat opcji konfiguracji Tedious dla identyfikatora entra firmy Microsoft (dawniej Azure Active Directory) są dostępne w dokumentacji Tedious.
Uruchamianie kodu
W wierszu polecenia uruchom program.
node sqltest.js
Sprawdź, czy zostało zwróconych 20 pierwszych wierszy, i zamknij okno aplikacji.