使用带有 node-oracledb 的 SID 连接到 Oracle DB 失败

Posted

技术标签:

【中文标题】使用带有 node-oracledb 的 SID 连接到 Oracle DB 失败【英文标题】:Connecing to OracleDB using SID with node-oracledb fails 【发布时间】:2016-12-31 20:45:47 【问题描述】:

我正在尝试使用 SID 连接到 Oracle DB 并收到以下错误

获取连接时出错 - 错误:ORA-12545:连接失败,因为目标主机或对象不存在

我尝试了以下连接字符串:

主机:1521:SID

主机:1521/SID

HOST、PORT 和 SID 都是正确的,我可以使用 DBVisualizer 进行连接。

另外,我可以使用 SERVICE NAME 与 DBVisualizer 和节点应用程序成功连接。

有人可以帮我连接 SID 吗?

【问题讨论】:

【参考方案1】:

我假设您正在连接到 Oracle Database 12c。 默认情况下,您不再可以使用 HOST:PORT:SID 进行连接。如果您仍然需要,请将参数 USE_SID_AS_SERVICE_listener=on 添加到您的 listener.ora 文件并重新加载 (lsnrctl reload)

更多信息: https://oracle-base.com/articles/12c/multitenant-connecting-to-cdb-and-pdb-12cr1

【讨论】:

最好是进行跳跃并找到实际的服务名称。顺便说一句,Easy Connect 语法一直是 host:port/service_name。它从不支持 SID。

以上是关于使用带有 node-oracledb 的 SID 连接到 Oracle DB 失败的主要内容,如果未能解决你的问题,请参考以下文章

ORA-00900: 无效的 SQL 语句 - 使用 node-oracledb 运行查询时

更新查询在node-oracledb模块中挂起

npm install node-oracledb 失败

一个查询中的 node-oracledb 多个语句

执行存储过程 NJS-012 时出现 node-oracledb 错误

Installing node-oracledb on Microsoft Windows