Inicio rápido: Uso de Node.js para consultar una base de datos de Azure SQL Database o Instancia administrada de Azure SQL
SE APLICA A:
Azure SQL Database
Azure SQL Managed Instance
En este inicio rápido, se usa Node.js para conectarse a una base de datos y consultar los datos.
Requisitos previos
Para completar este inicio rápido necesita instalar:
Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Acción SQL Database Instancia administrada de SQL SQL Server en máquina virtual de Azure Crear Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell Configuración Regla de firewall de IP en el nivel de servidor Conectividad desde una máquina virtual Conectividad desde un entorno local Conexión a una instancia de SQL Server Cargar datos Adventure Works cargado por inicio rápido Restauración de World Wide Importers Restauración de World Wide Importers Restauración o importación de Adventure Works desde un archivo BACPAC desde GitHub Restauración o importación de Adventure Works desde un archivo BACPAC desde GitHub Software relacionado con Node.js
Instale Homebrew y Node.js, y después instale el controlador ODBC y SQLCMD mediante los pasos 1.2 y 1.3 en Creación de aplicaciones Node.js mediante SQL Server en macOS.
Importante
Los scripts de este artículo se escriben para utilizar la base de datos Adventure Works.
Nota
También puede elegir una instancia administrada de Azure SQL.
Para crearlo y configurarlo, use Azure Portal, PowerShello la CLI y, después, configure una conectividad local o de máquina virtual.
Para cargar los datos, consulte la restauración con BACPAC con el archivo Adventure Works o consulte la restauración de la base de datos de Wide World Importers.
Obtención de información de conexión del servidor
Obtenga la información de conexión necesaria para conectarse a la base de datos de Azure SQL Database. En los procedimientos siguientes, necesitará el nombre completo del servidor o nombre de host, el nombre de la base de datos y la información de inicio de sesión.
Inicie sesión en Azure Portal.
Vaya a las páginas Bases de datos SQL o Instancias administradas de SQL.
En la página Información general, revise el nombre completo del servidor junto a Nombre del servidor para una base de datos de Azure SQL Database o el nombre completo (o la dirección IP) del servidor junto a Host para una instancia administrada de Azure SQL o SQL Server en la máquina virtual de Azure. Para copiar el nombre del servidor o nombre de host, mantenga el cursor sobre él y seleccione el icono Copiar.
Nota
Para obtener información de la conexión de SQL Server en una máquina virtual de Azure, consulte Conexión a SQL Server.
Creación del proyecto
Abra un símbolo del sistema y cree una carpeta denominada sqltest. Abra la carpeta que ha creado y ejecute el comando siguiente:
npm init -y
npm install tedious
Adición de código para consultar la base de datos
En el editor de texto, cree un archivo, sqltest.py.
Reemplace su contenido por el código siguiente. Agregue los valores apropiados para el servidor, la base de datos, el usuario y la contraseña.
const { Connection, Request } = require("tedious"); // Create connection to database const config = { authentication: { options: { userName: "username", // update me password: "password" // update me }, type: "default" }, server: "your_server.database.windows.net", // update me options: { database: "your_database", //update me encrypt: true } }; /* //Use Azure VM Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], authentication: { type: 'azure-active-directory-msi-vm', }, options: { database: process.env["db_database"], encrypt: true, port: 1433 } }; //Use Azure App Service Managed Identity to connect to the SQL database const config = { server: process.env["db_server"], authentication: { type: 'azure-active-directory-msi-app-service', }, options: { database: process.env["db_database"], encrypt: true, port: 1433 } }); */ const connection = new Connection(config); // Attempt to connect and execute queries if connection goes through connection.on("connect", err => { if (err) { console.error(err.message); } else { queryDatabase(); } }); connection.connect(); function queryDatabase() { console.log("Reading rows from the Table..."); // Read all rows from table const request = new Request( `SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid`, (err, rowCount) => { if (err) { console.error(err.message); } else { console.log(`${rowCount} row(s) returned`); } } ); request.on("row", columns => { columns.forEach(column => { console.log("%s\t%s", column.metadata.colName, column.value); }); }); connection.execSql(request); }
Nota
Para más información sobre el uso de una identidad administrada para la autenticación, complete Tutorial: Protección de la conexión con Azure SQL Database desde App Service mediante una identidad administrada.
Nota
El ejemplo de código usa la base de datos de ejemplo AdventureWorksLT en Azure SQL Database.
Ejecución del código
En el símbolo del sistema, ejecute el programa.
node sqltest.jsCompruebe que se han devuelto las 20 primeras filas y cierre la ventana de la aplicación.
Pasos siguientes
Conéctese y realice consultas en Windows, Linux y macOS con .NET Core, Visual Studio Code o SSMS (solo Windows)
Introducción a .NET Core en Windows, Linux y macOS mediante la línea de comandos
Diseño de la primera base de datos en Azure SQL Database mediante .NET o SSMS