首页  >  问答  >  正文

精简模式下的 Node-oracledb 不支持密码验证器类型 0x939 (NJS-116)

我正在尝试使用 javaScript 将 Oracle 数据库与 node.js 连接。

需求 - 我正在使用 webdriverIo 自动化 UI,它使用 node.js 和 JS。在一个流程中,我需要连接 Oracle DB 并通过自动化运行查询来获取值。 我尝试了一切,但每次的反应都是一样的。 我正在尝试使用 Nodejs 和 JS 连接 oracle db。我正在使用 VScode 进行编码。

P粉392861047P粉392861047297 天前833

全部回复(1)我来回复

  • P粉803444331

    P粉8034443312023-12-28 10:47:02

    对于 Oracle 数据库 11gR2 或更早版本:

    • 添加对 initOracleClient() 的调用以启用 node-oracledb 厚模式

    • 或者,您可以升级数据库。

    对于 Oracle 数据库 12c 或更高版本:

    • 要使用精简模式:请参阅 查找并重置使用10G密码版本的用户密码。总结一下:

      1. 确保数据库初始化参数sec_case_sensitive_logon不为FALSE。在 SQL*Plus 中,以 SYSDBA 身份运行 showparameter sec_case_sensitive_logon 以检查该值。 (注意sec_case_sensitive_logon已在 DB 21c 中删除)。

      2. 如果错误仍然发生,请重新生成密码,例如如有必要,运行ALTER USER x IDENTIFIED BY y

    • 或者,您可以使用厚模式。

    回复
    0
  • 取消回复