【问题标题】:How can I perfectly work with Oracle DB in my Node.js project如何在我的 Node.js 项目中完美地使用 Oracle DB
【发布时间】:2021-08-21 02:17:13
【问题描述】:

我目前正在使用 Angular、Node.Js、express 和 Oracle 数据库开发一个网站。

我仍然不熟悉所有这些技术,我正在尽力而为!我的问题是无法导出 Oracle 数据库连接。我搜索了这个,我认为这是一个承诺。我找到的唯一解决方案是每次使用新的 SQL 查询时都连接到数据库,这对我来说是不可能的,因为项目很大。

有什么方法可以在单独的文件中建立数据库连接并在需要时将其导出?

【问题讨论】:

  • 如果您说要存储数据库的连接字符串或身份验证详细信息,是的,您可以轻松做到这一点。使用 environment_variable。
  • 我想将所有连接配置放在一个文件 .js 中,然后我只需导入已建立的连接并将其与其他文件中的执行功能一起使用。

标签: node.js oracle express node-oracledb


【解决方案1】:

对于多用户应用,您应该使用连接池。您在应用启动时打开它,然后根据需要访问它 - 您无需传递任何内容。

如果您在初始化例程中打开连接池:

await oracledb.createPool({
  user: dbConfig.user,
  password: dbConfig.password,
  connectString: dbConfig.connectString
});
console.log('Connection pool started');

那么任何其他需要连接的模块都可以简单地做:

conn = await oracledb.getConnection();
result = await conn.execute(statement, binds, opts);
await conn.close();

阅读 node-oracledb 中的连接池、大小和线程 Connection Pooling 上的文档。

另见系列Build REST APIs for Node.js 及其代码https://github.com/oracle/oracle-db-examples/tree/master/javascript/rest-api。特别是看database.js

【讨论】:

    猜你喜欢
    • 2020-09-02
    • 2016-03-07
    • 2017-12-28
    • 1970-01-01
    • 2021-10-21
    • 2011-08-01
    • 2022-08-16
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多