Guia de início rápido: use o Node.js para consultar um banco de dados no Banco de Dados SQL do Azure ou na Instância Gerenciada SQL do Azure
Aplica-se a:Banco de Dados SQL do Azure Instância Gerenciada SQLdo Azure
Neste início rápido, você usa Node.js para se conectar a um banco de dados e consultar dados.
Pré-requisitos
Para concluir este guia de início rápido, necessita 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 do SQL do Azure ou no SQL Server na VM do Azure. Crie uma conta gratuitamente.
Ação Base de Dados SQL Instância Gerida do SQL SQL Server numa VM do Azure Criar Portal Portal Portal CLI Bicep PowerShell PowerShell PowerShell Configurar Regra de firewall IP no nível do servidor Conectividade de uma VM Conectividade local Conectar-se a uma instância do SQL Server Carregar dados Wide World Importadores carregados por início rápido Restaurar Wide World Importadores Restaurar Wide World Importadores Restaurar ou importar o AdventureWorks de um arquivo BACPAC do GitHub Restaurar ou importar o AdventureWorks de um arquivo BACPAC do GitHub -
Instale o Node.js e instale o driver ODBC usando as etapas em Instalar o driver ODBC da Microsoft para SQL Server (macOS).
Importante
Os scripts neste artigo são escritos para usar o 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 do servidor ou nome do host totalmente qualificado, nome do banco de dados e informações de login para as próximas etapas.
Inicie sessão no portal do Azure.
Vá para a página Bancos de Dados SQL ou Instâncias Gerenciadas SQL .
Na página Visão Geral, revise o nome do servidor totalmente qualificado ao lado de Nome do servidor para 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 uma Instância Gerenciada SQL do Azure ou SQL Server na VM do Azure. Para copiar o nome do servidor ou do host, passe o mouse sobre ele e selecione o ícone Copiar .
Nota
Para obter informações de conexão para o SQL Server na VM do Azure, consulte Conectar-se ao SQL Server.
Criar o projeto
Abra uma linha de comandos e crie uma pasta com o nome sqltest. Abra a pasta que 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 novo arquivo, sqltest.js, na pasta onde você criou o projeto (sqltest).
Substitua seu conteúdo pelo código a seguir. Em seguida, 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)); // 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); } }
Nota
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 Ative 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 primeiras linhas são retornadas e feche a janela do aplicativo.