Tag: node oracle

Node.js和node-oracle:连接到Oracle数据库的问题

我正在编写一个从Oracle数据库中提取数据的Node.js应用程序。 DBA最近将数据库迁移到另一台机器上,一切都破裂了。 我试过重新创buildtnsnames.ora和sqlnet.ora文件。 我相当肯定他们是正确的,因为sqlplus可以连接到服务就好了。 但是node-oracle一直报告错误:“ORA-12154:TNS:无法parsing指定的连接标识符”。 这对我来说是莫名其妙的。 在我看来,如果我有我的ORACLE_HOME环境variables设置,那么node-oracle和sqlplus应该function相同。 我究竟做错了什么? 我已经尝试切换到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; […]

使用node-oracle将硬编码的string切成两半

我使用node-oracle连接到Oracle数据库。 当我从西里尔数据表中select数值时,一切都很好,但是如果我像这样调用一个procudure: CREATE OR REPLACE PROCEDURE TEST_ENCODING (CUR OUT SYS_REFCURSOR) AS BEGIN open cur for select 'тест' as hello from dual; — cyrillic hardcoded text END TEST_ENCODING; 然后从节点调用它: connection.execute("call TEST_ENCODING(:1)", [new oracle.OutParam(oracle.OCCICURSOR)], function (err, result) { console.log(result) } ); 结果是: [ { HELLO: 'те' } ] (该string被减半)。 数据库configuration如下: NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA NLS_CURRENCY $ NLS_ISO_CURRENCY […]