Nodejs是一個非常強大的服務器端編程語言,在網絡編程領域有著廣泛的應用。它可以非常簡便的連接、操作各類關系型數據庫,例如MySQL、SQLite,以及今天我們要講的主題——Oracle。
作為一種大型企業級數據庫,Oracle的使用非常普遍。以訪問校園網Oracle數據庫為例,首先我們需要保證已經安裝oracle client程序包,同時也需要獲得oracle數據庫的IP地址、端口號等信息。接下來我們就可以使用node-oracledb來進行對oracle數據庫的操作。
const oracledb = require('oracledb'); oracledb.getConnection( { user : "username", password : "password", connectString : "localhost/XE" }, 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!'); }); });
這段代碼中,使用了node-oracledb模塊中的getConnection()方法來建立Oracle數據庫連接,其中參數包括了數據庫用戶名稱、密碼、連接字符串等信息。
值得注意的是,連接字符串中需要指明數據庫的服務名稱或SID。在許多情況下這需要查看tnsnames.ora文件中設定的相關網絡連接信息。例如,在訪問校園網Oracle數據庫時,常用的服務名稱是"XE"。如果一切順利,程序將會輸出連接成功的信息到控制臺。
從這里開始,我們就可以愉快地使用node-oracledb來進行對數據庫的操作了。例如:
const oracledb = require('oracledb'); async function run() { let connection; try { connection = await oracledb.getConnection( { user : "username", password : "password", connectString : "localhost/XE" }); const result = await connection.execute( `SELECT * FROM employees WHERE job_id = :id`, [11]); console.log(result.rows); } catch (err) { console.error(err); } finally { if (connection) { try { await connection.close(); } catch (err) { console.error(err); } } } } run();
這里展示了如何在nodejs中使用SQL語句向Oracle數據庫查詢數據。注意到我們使用了async/await異步調用方式,這樣會使代碼更加簡潔易讀,并且能夠自動處理錯誤,避免回調地獄式的編程。執行結果將會輸出符合查詢條件的數據。
總結來說,Nodejs連接Oracle數據庫只需要運用node-oracledb模塊,通過getConnection()方法即可建立連接,然后使用相關SQL命令即可對數據庫進行操作。這樣就可以大大簡化Oracle數據庫管理的流程,提高代碼執行效率。