Node.js 是一種基于Chrome V8 引擎的 JavaScript 運行環境,可以輕松的建立高擴展性的網絡應用程序。而 Oracle 是一家全球最大的企業級數據庫軟件供應商和管理系統供應商,被廣泛應用于數據管理和處理。在本文中,我們將討論如何在 Node.js 中查詢 Oracle 數據庫。
在使用 Node.js 查詢 Oracle 數據庫之前,需要先進行一些準備工作。我們需要安裝 node-oracledb 模塊和 Oracle Instant Client。module 是一個文檔或者代碼的架構結構,直接導入就能直接使用,而 Oracle Instant Client 是一種輕量級的 Oracle 客戶端,用來管理 Oracle 數據庫的連接和操作。我們可以通過命令行來安裝它們:
npm install oracledb
安裝完成之后,我們就可以開始連接和查詢 Oracle 數據庫了。首先,使用以下代碼來創建一個數據庫連接:
const oracledb = require('oracledb'); oracledb.getConnection({ user: 'myuser', password: 'mypassword', connectString: 'myserver/mydatabase' }, function(err, connection) { if (err) { console.error(err.message); return; } console.log('Connection was successful!'); connection.close(function (err) { if (err) { console.error(err.message); return; } console.log('Connection was closed!'); }); });
在上面的代碼中,我們使用了 oracledb 模塊的 getConnection() 方法來創建一個數據庫連接。我們需要提供用戶名、密碼和連接字符串來連接數據庫。在連接成功之后,我們可以在回調函數中進行一些查詢操作,并在查詢完成之后通過 connection.close() 方法關閉連接。
下面是一些常見的 Oracle 查詢操作示例:
// 查詢所有的員工數據 connection.execute( `SELECT * FROM employee`, [], function(err, result) { if (err) { console.error(err.message); return; } console.log(result.rows); }); // 帶參數查詢員工數據 connection.execute( `SELECT * FROM employee WHERE age >:age`, [25], function(err, result) { if (err) { console.error(err.message); return; } console.log(result.rows); }); // 查詢有多少個員工 connection.execute( `SELECT COUNT(*) AS total FROM employee`, [], function(err, result) { if (err) { console.error(err.message); return; } console.log(result.rows[0].TOTAL); });
在上面的代碼中,我們使用了 execute() 方法來執行 SQL 查詢。我們可以使用參數來進行查詢條件、排序等操作。在返回的結果中,我們可以通過 rows 屬性訪問查詢結果。如果需要聚合查詢數據,可以在 SQL 語句中使用聚合函數。
另外,我們還可以使用 Promise 和 async/await 來進行查詢操作。這種方式可以使代碼更加簡潔和易讀,例如:
const result = await connection.execute( `SELECT * FROM employee WHERE age >:age`, [25] ); console.log(result.rows);
在本文中,我們介紹了如何在 Node.js 中連接和查詢 Oracle 數據庫。通過使用 oracledb 模塊和 Oracle Instant Client,我們可以輕松地進行各種查詢操作。無論是使用回調函數還是 Promise/async/await,我們都可以獲得高效、簡潔和可讀的代碼。