问题标签 [node-oracledb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4775 浏览

node.js - 如何在 node-oracledb NodeJS 中使用 TO_TIMESTAMP 和 TO_DATE

我需要使用我的 Nodejs 应用程序将数据插入到我的 oracle 数据库中。我正在使用 node-oracledb 框架来执行此操作。我可以用这个做 CURD 操作。当我尝试插入时间戳和日期字段(使用 to_date)时,它会抛出错误“ ORA-00932: inconsistent datatypes: expected TIMESTAMP got NUMBER\n

下面是我将用于插入 Oracle 数据库的输入参数。

有什么方法可以将 JavaScript 日期转换为 Oracle 日期,将 JavaScript 日期时间转换为 Oracle 日期时间。TO_DATE()类似于和的东西TO_TIMESTAMP()

0 投票
1 回答
1261 浏览

node.js - 节点 oracledb 连接池在节点进程终止之前未关闭

终止时的节点应用程序不会关闭数据库会话。我目前正在使用节点清理库,但是当池连接超过一定数量时,该pool.close()函数将需要一些时间来解决,因此节点在不关闭池的情况下终止,并且会话在数据库中保持非活动状态。已经设置了适当的超时oracle DB,以便对非活动会话进行狙击和清理。但想知道是否有某种方法可以阻止节点进程退出以便pool.close()解决。

但是,如果我使用以下服务然后退出节点,所有数据库会话都会正确关闭。

0 投票
2 回答
1104 浏览

node.js - 如何在 Heroku NodeJS 服务器上安装 OracleDB NPM 包?

我有一个在 Heroku 上运行的 NodeJS 服务器,我试图在推送到 Heroku 时将 oracledb 包(https://www.npmjs.com/package/oracledb)安装到我的服务器的 node_modules 中。

推送到 Heroku 时,尝试安装 oracledb 软件包时出现此错误:“node-oracledb ERR!错误:找不到 Oracle 库 libclntsh.so”。我从 Heroku 推送中得到的完整错误输出可以在这里看到:https ://gist.github.com/AkyunaAkish/89a4283cc2da32e26fece617d4138ce0

我尝试按照这个 repo 的自述文件安装我认为会有所帮助的插件,但这似乎没有什么不同:https ://github.com/MichaelBuhler/heroku-buildpack-nodejs-oracledb

然后我去了 node-oracledb 存储库并尝试按照他们的说明在 Linux 上安装 oracledb(通过使用 Heroku 运行 bash 然后运行命令)尽管这不起作用,因为 yum 不可用并且文件系统已读取-只要; https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instlinux

我不需要在我的 heroku 环境中托管 oracledb 实例,我只需要将包安装到我的 node_modules 中,以便使用我的数据库驱动程序连接到托管在其他地方的远程 oracledb。

任何有关如何根据我的需要正确设置环境的建议都将不胜感激,谢谢。

FYI:我询问了 Heroku 支持,并被告知这不是 Heroku 支持政策性质的问题,所以我来了。

0 投票
1 回答
1529 浏览

node.js - 找不到指定的模块 - 节点 oracledb

我有使用 npm 包 oracledb 运行的节点应用程序。我能够成功连接到远程 oracle12c 数据库。现在的问题是,在生产框中我无法安装所有先决条件,因此我压缩了工作代码并解压缩到新的 Windows 框(使用正确的路径安装了 node.js 和 oracle 客户端库)。但是当我启动节点服务器时,我得到了错误。有什么我想念的吗?请指导。谢谢

0 投票
1 回答
2537 浏览

node.js - 如何在单元测试中模拟节点数据库连接?

我正在为 Node.js node-oracledb 使用 Oracle 数据库驱动程序。我做了一些研究,但找不到任何关于如何对数据库连接进行单元测试的明确解决方案。我应该连接到真实数据库还是模拟连接。哪个框架适合模拟数据库连接?我想对依赖于 oracledb 的发布请求 /API/login 进行单元测试。下面分享代码。请指导。

0 投票
1 回答
184 浏览

node.js - node.js / oracledb 驱动限制

Node.js 版本:9.2 Oracledb 驱动程序版本:2.0.15 我编写了一个匿名 PL/Sql 过程,其中包含 200 行代码的声明、执行和异常部分。

当直接在 Oracle 服务器上运行或使用任何可以运行它的工具时,它运行得非常好。但是,从 .js 文件中运行会出现错误:

"detailed_message":"ORA-06550:第 1 行,第 3681 列:\nPL/SQL:ORA-00905:缺少关键字\nORA-06550:第 1 行,第 3467 列:\nPL/SQL:忽略 SQL 语句\nORA-06550:第 1 行,第 3736 列:\nPLS-00103:在预期以下情况之一时遇到符号 \"ELSE\":\n\n ( begin case declare end exception exit for goto if loop mod\n null pragma raise return select update而与\n

由于代码直接在服务器上运行良好,我不会怀疑过程本身有任何问题。而且我还有另一个不到 100 行代码的匿名程序似乎可以从 .js 文件中正常运行。

我想知道运行这么长的过程的数据库驱动程序是否有任何限制。(我也不想将此过程存储在数据库中)

0 投票
1 回答
1761 浏览

node.js - 如何在一个会话中使用节点 oracledb 插件执行多个 sql 查询

我正在使用node oracle-db插件来访问部署在远程服务器上的 oracle 数据库。我只需要UPDATE在一个会话中执行多个查询。我无法修改数据库中的多个值。

现在,此示例语句为两个 PID 设置 9000。我需要两个 PID 的不同值

0 投票
0 回答
421 浏览

node.js - oracledb 的 oracle-migrate.js 问题

我正在使用 oracledb 连接到 oracle 和 oracle-migrate 以便对数据库进行迁移/更新。

我很确定我的 oracledb 已连接,因为我可以正确地进行查询,但是在尝试进行迁移时,我收到以下消息

我很确定我已经正确安装了 oracledb。

任何想法?

0 投票
0 回答
923 浏览

javascript - ORA-01036: node-oracledb 中的非法变量名称/编号\n

我正在尝试通过存储过程获取结果集。

当我调用该程序时,它给了我一个 ORA-01036:非法变量名/编号\n。

我正在使用 node-oracledb 来获取数据。实施如下。请就如何正确处理它提供一些建议。

我的绑定变量如下:

这是包的测试声明。

0 投票
1 回答
714 浏览

node.js - 我如何将我的 Node 和 Python 版本从 32 位更改为 64 位以用于 azure 上的 Web 应用程序

我正在使用 bot 框架创建一个节点 js Web 应用程序。

现在,我需要安装 node-oracledb 模块来调用部署在远程服务器上的 oracle db。

使用以下命令安装相同的

引发以下错误

oracledb 继续安装 oracledb ERR!NJS-054:二进制构建/发布/oracledb.node 未从 oracledb-v2.0.15-node-v48-win32-ia32.gz oracledb 错误安装!错误:对https://github.com/oracle/node-oracledb/releases/download/v2.0.15/oracledb-v2.0.15-node-v48-win32-ia32.gz的HTTPS 请求失败,代码 404 oracledb ERR!如果错误与网络或文件系统无关,请查看 oracledb ERR!安装说明和 oracledb ERR 中的 Python 2.7 和编译器先决条件!然后从源代码安装: npm install oracle/node-oracledb.git#v2.0.15 oracledb ERR!请参阅https://github.com/oracle/node-oracledb/blob/master/INSTALL.md

据我所知,该模块仅针对 64 位发布。对于安装,我需要将依赖项(Node 和 Python)更新为 64 位。

对升级节点和 python 有什么帮助吗?