我正在編寫一個從Oracle數據庫中提取數據的Node.js應用程序。 DBA最近將數據庫遷移到另一臺機器上,一切都破裂了。Node.js和node-oracle:連接到Oracle數據庫的問題
我試過重新創建tnsnames.ora和sqlnet.ora文件。我確信它們是正確的,因爲sqlplus可以很好地連接到服務。但node-oracle持續報告錯誤:「ORA-12154:TNS:無法解析指定的連接標識符」。
這對我來說是莫名其妙的。在我看來,如果我設置了我的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;
}
});
的例子爲在github上顯示兩個驅動程序'connect'中定義的主機名等;那麼你確定他們甚至提到'tnsnames.ora'? (我從來沒有用過,清楚!)你可以發佈你如何連接? – 2012-07-19 22:04:17
編輯以顯示我如何連接 – Aqueous 2012-07-24 14:49:06
好吧,那麼您是否已在更新'Preferences'值的地方更新了'oracle_host',以便它指向新的服務器?這不會經過'tnsnames.ora'。 – 2012-07-24 14:55:07