在Oracle下载所需驱动并解压放在合适位置

https://www.oracle.com/database/technologies/instant-client/downloads.html

将TNS连接压缩包解压至/path/to/your/instantclient_21_6/network/admin/

目录结构大概这样

\---admin
        cwallet.sso
        ewallet.p12
        ewallet.pem
        keystore.jks
        ojdbc.properties
        sqlnet.ora
        tnsnames.ora
        truststore.jks
const oracledb = require('oracledb')
// 如果是Linux系统 libDir 改为 configDir
oracledb.initOracleClient({libDir: 'C:\\APPS\\instantclient_21_6'})
//oracledb.initOracleClient({configDir: '/home/instantclient_21_6'})
const query = function () {
    return new Promise((resolve, reject) => {
        oracledb.getConnection({
            user: '用户名',
            password: '密码',
            connectString: `TNS连接串`
        }, (err, connection) => {
            if (err) {
                console.error('连接数据库失败:', err)
                return
            }
            resolve(connection)
        })
    })
}

query().then((connection) => {
    connection.execute('SELECT * FROM TESTAAA where rownum<=2', (err, result) => {
        connection.close((err) => {
            if (err) {
                console.error(err)
            }
        })
        // rows为数据,metadata为字段
        for (let index in result['rows']) {
            console.log((result['rows'][index]).toString().replace('\n',''))
        }
    })
})

Q.E.D.