私
Node.js から Oracle DB へアクセスする方法は?
oracledb という Node.js パッケージを使えば簡単に DB へアクセスすることができる
-
oracledb - npm
www.npmjs.com
Node.js パッケージをインストール
npm i oracledb
Oracle DB の情報を記載
接続するために必要な情報を記載しておく。
const dbConfig = {
user : "USERNAME",
password : "PASSWORD",
connectString : "XX.XXX.XXX.XX/oracledb",
};
Oracle Instant Client をダウンロード
以下の公式ウェブサイトから環境にあったクライアントをダウンロードしておく。
https://www.oracle.com/database/technologies/instant-client.html
そして以下のようにクライアントを読み込む。
oracledb.initOracleClient({libDir: 'C:\oracle\instantclient_19_11'});
クライアントがないと以下のようなエラーが発生するよ
DPI-1047: Cannot locate a 64-bit Oracle Client library
Oracle DB 接続から SQL 実行
バインド変数を使って SELECT を実行する例
(async function() {
oracledb.initOracleClient({libDir: 'C:\\oracle\\instantclient_19_11'});
try{
connection = await oracledb.getConnection({
user: dbConfig.user,
password: dbConfig.password,
connectString: dbConfig.connectString
});
console.log("Connected to Oracle...")
} catch(err) {
console.log("Error when connecting...", err);
} finally {
if (connection) {
connection.execute(
`SELECT name, address from emp where id = :ID`, ['2234'],
function(err, result) {
if (err) {
console.error(err.message);
return;
}
console.log(result.rows);
});
try {
await connection.close();
} catch(err) {
console.log("Error when closing...", err);
}
}
}
})()