21xrx.com
2024-12-22 23:26:03 Sunday
登录
文章检索 我的文章 写文章
Node.js 更新 Oracle 数据库
2023-06-22 10:03:30 深夜i     --     --
Node js 更新 Oracle数据库

Node.js 是一种基于 V8 引擎的 JavaScript 运行环境,可实现服务器端的 JavaScript 编程。它被广泛应用于 Web 开发、客户端程序的构建、命令行工具等领域。同时,Oracle 数据库是全球领先的关系型数据库管理系统,其在大型企业和组织中被广泛使用。Node.js 提供了许多处理 Oracle 数据库的模块和工具,使得在 Node.js 中进行 Oracle 数据库操作变得更加简单、高效。

Node-oracledb 是一个 Node.js 模块,提供了与 Oracle 数据库的连接和操作功能。该模块适用于 Node.js 4.X 及更高版本,并通过 Oracle Instant Client 或 Oracle Database 12c 客户端和 Oracle Database 11g 客户端实现本机连接。Node-oracledb 支持事务处理、嵌套查询、游标、批处理插入与更新、隐式和显式语句准备等功能。

Node.js 和 Node-oracledb 的使用

1. 安装 Node.js 和 Node-oracledb

在开始使用 Node.js 和 Node-oracledb 之前,需要安装 Node.js 和 Node-oracledb。可以从 Node.js 官方网站上下载最新版本的 Node.js。

在安装 Node-oracledb 之前,还需要提前安装 Oracle 的 Instant Client 或 Oracle Database 12c 客户端和 Oracle Database 11g 客户端。Node-oracledb 的安装可以通过 npm install 命令来完成。

2. 建立数据库连接

使用 Node.js 和 Node-oracledb 时,需要建立一个与 Oracle 数据库的连接。可以使用 oracledb.getConnection() 函数来建立连接。以下是一段连接到本地 Oracle 数据库的示例代码:


const oracledb = require('oracledb');

async function run() {

  let connection;

  try {

    connection = await oracledb.getConnection(

      connectString: "localhost:1521/xe"

    );

    console.log("Connection succeeded");

  } catch (err) {

    console.error(err);

  } finally {

    if (connection) {

      try {

        await connection.close();

        console.log("Connection closed");

      } catch (err) {

        console.error(err);

      }

    }

  }

}

在上述代码中,首先导入了 oracledb 模块,并定义了一个名为 run() 的异步函数。该函数调用了 oracledb.getConnection() 函数来建立一个与本地 Oracle 数据库的连接,并使用 user、password 和 connectString 参数来指定数据库的登录信息和连接地址。如果连接成功,会在控制台输出 Connection succeeded,否则会输出错误信息。无论连接是否成功,最终都会在控制台输出 Connection closed 来关闭连接。

3. 查询与更新数据

建立数据库连接后,就可以进行查询和更新数据操作。例如,查询一个名为 employees 的表中的所有数据,可以使用以下代码:


async function run() {

  let connection;

  try {

    connection = await oracledb.getConnection(

      password: "password");

    const result = await connection.execute(

      `SELECT * FROM employees`

    );

    console.log(result.rows);

  } catch (err) {

    console.error(err);

  } finally {

    if (connection) {

      try {

        await connection.close();

      } catch (err) {

        console.error(err);

      }

    }

  }

}

在上述代码中,使用 connection.execute() 函数执行 SELECT * FROM employees 查询语句,并输出结果 rows。

如果要更新 employees 表中的某些数据,可以使用以下代码:


async function run() {

  let connection;

  try {

    connection = await oracledb.getConnection(

      user: "hr");

    const result = await connection.execute(

      `UPDATE employees SET salary = :newSalary WHERE employee_id = :empId`,

      [10000, 101]

    );

    console.log(result);

  } catch (err) {

    console.error(err);

  } finally {

    if (connection) {

      try {

        await connection.close();

      } catch (err) {

        console.error(err);

      }

    }

  }

}

在上述代码中,使用 connection.execute() 函数执行 UPDATE employees SET salary = :newSalary WHERE employee_id = :empId 查询语句,并用数组 [10000, 101] 来指定 newSalary 和 empId 参数的值。更新成功后,会在控制台输出相关信息。

对于更复杂或高级的查询和操作,Node-oracledb 还提供了许多其他功能和选项。例如,可以使用批量插入来一次性插入多条数据,或使用游标来遍历大量结果集。

总结

Node.js 是一个灵活、高效的服务器端 JavaScript 运行环境,而 Node-oracledb 则是一个方便、强大的 Node.js 模块,用于在 Node.js 中操作 Oracle 数据库。通过 Node.js 和 Node-oracledb,可以快速、方便地进行 Oracle 数据库的连接、查询和更新等操作,为企业和组织提供更高效、更流畅的数据库管理体验。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复