节点 OracleDB 连接在远程服务器中不工作

Node OracleDB connection not working in remote server

我将 oracledb 与 Node 和 ExpressJS 结合使用来开发我的应用程序。在 localhost 中,我的连接没有问题,但我需要在连接到其他服务器中的数据库的服务器中配置项目。当我这样做时,出现错误(翻译自西班牙语):

Error: Error: ORA-12154: TNS: the specified connection identifier could not be resolved.

这是我的配置代码:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "192.168.6.129:1521/myDatabase",
}

此外,如果我在数据库服务器中安装我的项目,并且我 运行 使用本地主机进行相同的配置,它可以正常工作:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "localhost:1521/myDatabase",
}

请帮助我理解错误。

疑难解答:

  1. NetworkCheck:您的数据库节点是否可达? : dig,ping,host,nslookup
  2. FirewallCheck:您可以连接到 dbnode oracle 侦听器吗? nc -vz dbnode 1521
  3. ServiceCheck: 数据库服务 myDatabase 是否暴露在 dbnode 的侦听器中? dbnode>$lsnrctl status | grep myDatabase

如果您可以将这些树点标记为成功,则应该可以连接。

祝你好运。

我解决了更改连接字符串的问题,如文档所述:

const oracleDbConfig = {
    user: "myUser",
    password: "myPassword",
    connectString: "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.6.129)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=myDatabase)))"
}

这两种方式都有效,但我只用了这个。