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

时间:2020-04-25 20:04:40

标签: node.js database oracle express connection

我将oracledb与Node和ExpressJS一起使用来开发我的应用程序。在localhost中,我的连接没有问题,但是我需要在连接到另一台服务器上的数据库的服务器上配置项目。当我这样做时,我得到了错误(翻译自西班牙文):

错误:错误:ORA-12154:TNS:无法解析指定的连接标识符。

这是我的配置代码:

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

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

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

请帮我理解错误。

2 个答案:

答案 0 :(得分:1)

故障排除:

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

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

祝你好运。

答案 1 :(得分:0)

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

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)))"
}

这两种方法都是有效的,但我只能使它起作用。