Node 连接 Oracle 数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ yum -y install git libaio
$ git clone https://github.com/nvm-sh/nvm.git .nvm
$ cd .nvm
$ git checkout v0.35.1
$ source nvm.sh
# 设置 node 加速源
$ export NVM_NODEJS_ORG_MIRROR=https://repo.huaweicloud.com/nodejs/
$ nvm install node
$ cd
$ wget https://cdn.hongfs.cn/software/oracle/19.5/oracle-instantclient-basic-linuxx64.rpm # 我这边提供的是19.5版
$ rpm -ivh oracle-instantclient-basic-linuxx64.rpm
# 设置环境变量
$ export ORACLE_HOME=/usr/lib/oracle/19.5
$ export LD_LIBRARY_PATH=/usr/lib/oracle/19.5/client64/lib
1
2
3
4
5
6
$ mkdir hongfs
$ cd hongfs
$ npm init
$ npm i oracledb
$ vi index.js
$ node index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
const oracledb = require('oracledb');

async function run() {
const config = {
user: '10000',
password: '10000',
connectString: '(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =111.111.111.111)(PORT = 10000))(CONNECT_DATA = (SID = ORCL)))'
};

let connection;

try {
connection = await oracledb.getConnection(config);

const result = await connection.execute(`SELECT * FROM BD_JOB`);

console.log(result);
} catch (e) {
} finally {
if(connection) {
try {
await connection.close();
} catch (err) {
}
}
}
}

run();
往上