淘先锋技术网

首页 1 2 3 4 5 6 7

NodeJS 是一款基于 Chrome V8 引擎的 JavaScript 运行环境,可以让 JavaScript 运行在服务端,使得 JavaScript 在服务端也能具备高效、易扩展、跨平台等特性。目前,NodeJS 和 Oracle 数据库的应用非常广泛,下面就简单介绍 NodeJS 连接 Oracle 数据库的方法。

在使用 NodeJS 连接 Oracle 数据库之前,需要安装 Node-oracledb,这是一款 Oracle 官方提供的适用于 NodeJS 的驱动程序,提供了高效的连接数据库和执行 SQL 语句的方法。Node-oracledb 是提供 NodeJS 连接 Oracle 数据库的可靠选择。使用 Node-oracledb 前,必须在本地安装 Oracle Instant Client 或 Oracle Database,也可以在 cloud 上通过 DBCS 服务使用 Oracle 数据库。下面是一个代码示例:

const oracledb = require('oracledb');
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT;
(async function() {
let connection;
try {
connection = await oracledb.getConnection(  {
user          : "hr",
password      : "welcome",
connectString : "localhost/XE"
});
const result = await connection.execute(`SELECT first_name, last_name FROM employees
WHERE department_id = :id`,
[50]);
console.log(result.rows);
} catch (err) {
console.error(err);
} finally {
if (connection) {
try {
await connection.close();
} catch (err) {
console.error(err);
}
}
}
})();

上述代码进行了一个名为“hr”的 Oracle 数据库的链接,连接的用户名为“hr”,密码为“welcome”,连接字符串为“localhost/XE”,并运行了一个 SQL 语句,要求查询 department_id 为 50 的 employee 部门的 first_name 和 last_name 字段。执行结果将以下面的形式输出:

[ { FIRST_NAME: 'David', LAST_NAME: 'Austin' },
{ FIRST_NAME: 'Sundar', LAST_NAME: 'Ande' },
{ FIRST_NAME: 'Amit', LAST_NAME: 'Banda' },
{ FIRST_NAME: 'Elizabeth', LAST_NAME: 'Bates' },
{ FIRST_NAME: 'Curtis', LAST_NAME: 'Davies' },
{ FIRST_NAME: 'Nanette', LAST_NAME: 'Cambrault' },
{ FIRST_NAME: 'Oliver', LAST_NAME: 'Tuvault' },
{ FIRST_NAME: 'Janette', LAST_NAME: 'King' } ]

另外,需要注意的是,如果 Oracle 数据库采用了加密协议,需要在初始化时设置 NODE_TLS_REJECT_UNAUTHORIZED=0,否则连接时会报错。还可以设置与线程、连接、缓存和 LOB 配置相关的值,以优化性能和调整吞吐量。

总的来说,使用 NodeJS 连接 Oracle 数据库非常简单,只需安装 Node-oracledb 这款驱动程序,就可以迅速高效地操作 Oracle 数据库了。