Início Rápido: Usar o Node.js para consultar um banco de dados no Banco de Dados SQL do Azure ou na Instância Gerenciada de SQL do Azure
Aplica-se a: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Neste guia de início rápido, você usará o Node.js para se conectar a um banco de dados e consultar os dados.
Pré-requisitos
Para concluir este início rápido, você precisa de:
Uma conta do Azure com uma assinatura ativa e um banco de dados no Banco de Dados SQL do Azure, na Instância Gerenciada de SQL do Azure ou no SQL Server na VM do Azure. Crie uma conta gratuitamente.
Ação Banco de Dados SQL Instância Gerenciada do SQL SQL Server na VM do Azure Criar Portal Portal Portal CLI Bicep PowerShell PowerShell PowerShell Configurar Regra de firewall de IP no nível do servidor Conectividade de uma VM Conectividade do local Conectar-se a uma Instância do SQL Server Carregar dados Importadores do mundo inteiro carregados por início rápido Restaurar o Wide World Importers Restaurar o Wide World Importers Restaurar ou importar o AdventureWorks de um arquivo BACPAC do GitHub Restaurar ou importar o AdventureWorks de um arquivo BACPAC do GitHub Software relacionado ao Node.js
Instale o Node.js e instale o driver ODBC usando as etapas descritas em Instalar o driver Microsoft ODBC para SQL Server (macOS).
Importante
Os scripts deste artigo foram escritos para uso do banco de dados AdventureWorks.
Obter informações de conexão do servidor
Obtenha as informações de conexão necessárias para se conectar ao banco de dados. Você precisará do nome totalmente qualificado do servidor ou do host, do nome do banco de dados e das informações de logon nas próximas etapas.
Entre no portal do Azure.
Acesse a página Bancos de Dados SQL ou Instâncias Gerenciadas de SQL.
Na página Visão geral, examine o nome do servidor totalmente qualificado ao lado de Nome do servidor para obter um banco de dados no Banco de Dados SQL do Azure ou o nome do servidor totalmente qualificado (ou endereço IP) ao lado de Host para obter uma instância gerenciada de SQL do Azure ou um SQL Server na VM do Azure. Para copiar o nome do servidor ou o nome do host, passe o mouse sobre ele e selecione o ícone Copiar.
Observação
Para obter informações de conexão do SQL Server na VM do Azure, confira Conectar-se ao SQL Server.
Criar o projeto
Abra um prompt de comando e crie uma pasta chamada sqltest. Abra a pasta que você criou e execute o seguinte comando:
npm init -y
npm install mssql
Adicionar código para consultar o banco de dados
No seu editor de texto favorito, crie um arquivo, sqltest.js, na pasta em que criou o projeto (sqltest).
Substitua o conteúdo pelo código a seguir. Depois adicione os valores apropriados para seu servidor, banco de dados, usuário e senha.
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); } }
Observação
Para obter mais informações sobre como usar a identidade gerenciada para autenticação, conclua o tutorial para acessar dados por meio da identidade gerenciada. Detalhes sobre as opções de configuração Tedious para o Microsoft Entra ID (anteriormente Azure Active Directory) estão disponíveis na documentação do Tedious.
Executar o código
No prompt de comando, execute o programa.
node sqltest.js
Verifique se as 20 linhas superiores são retornadas, depois feche a janela do aplicativo.