Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure
В этом кратком руководстве вы будете использовать Node.js для подключения к базе данных и запроса данных.
Предварительные условия
Чтобы завершить эту краткую настройку, вам нужно:
Учетная запись Azure с активной подпиской и базой данных в Azure SQL Database, Azure SQL Managed Instance или SQL Server на виртуальной машине Azure. Создайте учетную запись бесплатно .
Действие База данных SQL Управляемый экземпляр SQL SQL Server на виртуальной машине Azure Создайте Портал Портал Портал CLI Бицепс PowerShell PowerShell PowerShell Настройка Правило брандмауэра для IP-адресов на уровне сервера Подключение из виртуальной машины Подключение из локальной сети Подключение к экземпляру SQL Server Загрузка данных Импортеры Wide World Importers загружены через краткий старт. Восстановление базы данных Wide World Importers Восстановление базы данных Wide World Importers Восстановление или импорт AdventureWorks из файла BACPAC с GitHub Восстановите или импортируйте AdventureWorks из файла BACPAC с GitHub Программное обеспечение, связанное с Node.js
Установите Node.js и установите драйвер ODBC, выполнив действия по установке драйвера Microsoft ODBC для SQL Server (macOS).
Внимание
Скрипты, приведенные в этой статье, записываются для использования базы данных AdventureWorks .
Получение сведений о подключении к серверу
Получите сведения, необходимые для подключения к базе данных. Вам потребуется полное имя сервера или имя узла, имя базы данных и сведения о входе для предстоящих шагов.
Войдите на портал Azure.
Перейдите на страницу Базы данных SQL или Управляемые экземпляры SQL.
На странице Обзор просмотрите полное имя сервера рядом с полем Имя сервера для базы данных в службе "База данных SQL Azure" или полное имя сервера (либо IP-адрес) рядом с полем Узел для Управляемого экземпляра SQL Azure или сервера SQL Server на виртуальной машине Azure. Чтобы скопировать имя сервера или имя узла, наведите на него указатель мыши и щелкните значок копирования.
Примечание.
Сведения о подключении для сервера SQL Server на виртуальной машине Azure см. в этой статье.
Создание проекта
Откройте командную строку и создайте папку с именем sqltest. Откройте созданную папку и выполните следующую команду:
npm init -y
npm install mssql
Добавление кода для создания запроса к базе данных
В избранном текстовом редакторе создайте файл sqltest.js в папке, в которой вы создали проект (sqltest).
Замените содержимое файла приведенным ниже кодом. Затем добавьте соответствующие значения для сервера, базы данных, пользователя и пароля.
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); } }
Примечание.
Дополнительные сведения об использовании управляемого удостоверения для проверки подлинности см. в руководстве по доступу к данным посредством управляемого удостоверения. Сведения о параметрах конфигурации Tedious для Microsoft Entra ID (ранее — Azure Active Directory) доступны в документации Tedious.
Выполнение кода
Запустите программу в командной строке.
node sqltest.js
Убедитесь, что возвращены первые 20 строк, и закройте окно приложения.