我正在编写一个从 Oracle 数据库中提取数据的 Node.js 应用程序。DBA 最近将数据库迁移到另一台机器上,一切都崩溃了。
我尝试重新创建 tnsnames.ora 和 sqlnet.ora 文件。我相当确定它们是正确的,因为 sqlplus 可以很好地连接到服务。但是 node-oracle 不断报告错误:“ORA-12154: TNS:could not resolve the connect identifier specified”。
这对我来说是莫名其妙的。在我看来,如果我设置了 ORACLE_HOME 环境变量,那么 node-oracle 和 sqlplus 的功能应该相同。我究竟做错了什么?
我尝试改用 node-db-oracle,但它报告了同样的问题。我难住了。
编辑:这就是我的连接方式:
database = new oracle.Database({
hostname: Preferences["oracle_host"], // FQDN of the database
port: Preferences["oracle_port"],
user: Credentials["oracle_login"],
password: Credentials["oracle_password"],
database: Preferences["oracle_database"]
});
connection = database.connect(function(error) {
if(error) {
Utilities.logger.error(error);
}
else {
Utilities.logger.info("Connected to Oracle database " + Preferences["oracle_host"]);
if(callback) callback.call(this, collection, options);
connection = this;
}
});