我最近从使用Oracle 11g的prem DB迁移到了需要连接到Oracle 12c的云端。我的nodejs应用程序在prem上运行良好,但在云中,抛出了下面的错误
error: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor下面是我的应用程序使用的代码片段。
oracledb.createPool({
user: config.DB_USER,
password: config.DB_PASS,
connectString: config.DB_HOST + ':' +
config.DB_PORT + '/' +
config.DB_NAME,
poolMin: 20,
poolIncrement: 0,
poolMax: 20
}在搜索和尝试了包括用/替换:在内的多个选项之后,似乎什么都没有起作用。我终于得到了一个可行的解决方案,我已经回答了下面这个问题。我希望它能帮助一些人
发布于 2020-03-11 18:38:35
此问题的解决方案是更改连接字符串,如下面的代码片段所示
oracledb.createPool({
user: config.DB_USER,
password: config.DB_PASS,
connectString:"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host="+config.DB_HOST+")(Port="+config.DB_PORT+"))(CONNECT_DATA=(SID="+config.DB_NAME+")))",
poolMin: 20,
poolIncrement: 0,
poolMax: 20
},https://stackoverflow.com/questions/60634087
复制相似问题