我将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",
}
请帮我理解错误。
答案 0 :(得分:1)
故障排除:
dig,ping,host,nslookup
nc -vz dbnode 1521
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)))"
}
这两种方法都是有效的,但我只能使它起作用。