在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.