Mulai Cepat: Menggunakan Node.js untuk mengkueri database di Azure SQL Database atau Azure SQL Managed Instance
Berlaku untuk: Azure SQL Database Azure SQL Managed Instance
Dalam mulai cepat ini, Anda menggunakan Node.js untuk terhubung ke database dan data kueri.
Prasyarat
Untuk menyelesaikan mulai cepat ini, Anda memerlukan:
Akun Azure dengan langganan aktif dan database di Azure SQL Database, Azure SQL Managed Instance, atau SQL Server di Azure VM. Buat akun secara gratis.
Perbuatan SQL Database Instans Terkelola SQL SQL Server di VM Azure Buat Portal Portal Portal CLI Bicep PowerShell PowerShell PowerShell Konfigurasikan Aturan firewall IP tingkat server Konektivitas dari komputer virtual Konektivitas dari lokal Menyambungkan ke instans SQL Server Memuat Data Importir Wide World dimuat per mulai cepat Memulihkan Wide World Importers Memulihkan Wide World Importers Memulihkan atau mengimpor AdventureWorks dari file BACPAC dari GitHub Memulihkan atau mengimpor AdventureWorks dari file BACPAC dari GitHub Perangkat lunak terkait Node.js
Instal Node.js lalu instal driver ODBC menggunakan langkah-langkah pada Menginstal driver Microsoft ODBC untuk SQL Server (macOS).
Penting
Skrip dalam artikel ini ditulis untuk menggunakan database AdventureWorks .
Dapatkan informasi koneksi server
Dapatkan informasi koneksi yang Anda perlukan untuk menyambungkan ke database. Anda akan memerlukan nama server atau nama host, nama database, dan informasi masuk yang sepenuhnya memenuhi syarat untuk langkah-langkah mendatang.
Masuk ke portal Azure.
Masuk ke halaman SQL Databases atau SQL Managed Instances.
Pada halaman Ringkasan, tinjau nama server yang sepenuhnya memenuhi syarat di samping Nama server untuk database di Azure SQL Database atau nama server (atau alamat IP) yang sepenuhnya memenuhi syarat di samping Host untuk Azure SQL Managed Instance atau SQL Server di VM Azure. Untuk menyalin nama server atau nama host, arahkan mouse ke atasnya dan pilih ikon Salin.
Catatan
Untuk informasi koneksi untuk SQL Server di VM Azure, lihat Menyambungkan ke SQL Server.
Membuat proyek
Buka prompt perintah dan buat folder bernama sqltest. Buka folder yang Anda buat dan jalankan perintah berikut ini:
npm init -y
npm install mssql
Menambahkan kode untuk mengkueri database
Di editor teks favorit Anda, buat file baru, sqltest.js, di folder tempat Anda membuat proyek (sqltest).
Ganti isinya dengan kode berikut. Kemudian tambahkan nilai yang sesuai untuk server, database, pengguna, dan kata sandi Anda.
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); } }
Catatan
Untuk informasi selengkapnya tentang penggunaan identitas terkelola untuk autentikasi, lengkapi tutorial untuk mengakses data melalui identitas terkelola. Detail tentang opsi konfigurasi Tedious untuk MICROSOFT Entra ID (sebelumnya Azure Active Directory) tersedia dalam dokumentasi Tedious.
Menjalankan kode
Di perintah, jalankan program.
node sqltest.js
Verifikasi 20 baris teratas yang dikembalikan lalu tutup jendela aplikasi.