Установка Node Oracle и параметров подключения к БД

This commit is contained in:
Mikhail Chechnev 2018-10-09 21:45:10 +03:00
parent 5a33231df4
commit 18d954d361
4 changed files with 103 additions and 0 deletions

5
config.js Normal file
View File

@ -0,0 +1,5 @@
module.exports = {
user: "parus",
password: "parus",
connectString: "DEMOP_CITKSERV"
};

62
index.js Normal file
View File

@ -0,0 +1,62 @@
var oracledb = require("oracledb");
var dbConfig = require("./config.js");
// Get a non-pooled connection
oracledb.getConnection(
{
user: dbConfig.user,
password: dbConfig.password,
connectString: dbConfig.connectString
},
function(err, connection) {
if (err) {
console.error(err.message);
return;
}
connection.execute(
// The statement to execute
"SELECT rn, agnabbr FROM agnlist WHERE rn = :id",
// The "bind value" 180 for the bind variable ":id"
[1431890],
// execute() options argument. Since the query only returns one
// row, we can optimize memory usage by reducing the default
// maxRows value. For the complete list of other options see
// the documentation.
{
maxRows: 1
//, outFormat: oracledb.OBJECT // query result format
//, extendedMetaData: true // get extra metadata
//, fetchArraySize: 100 // internal buffer allocation size for tuning
},
// The callback function handles the SQL execution results
function(err, result) {
if (err) {
console.error(err.message);
setTimeout(() => {
doRelease(connection);
}, 2000);
return;
}
console.log(result.metaData); // [ { name: 'DEPARTMENT_ID' }, { name: 'DEPARTMENT_NAME' } ]
console.log(result.rows); // [ [ 180, 'Construction' ] ]
setTimeout(() => {
doRelease(connection);
}, 2000);
}
);
}
);
// Note: connections should always be released when not needed
function doRelease(connection) {
connection.close(function(err) {
if (err) {
console.log("Connection closed with erros: " + err.message);
} else {
console.log("Connection closed - no erros");
}
});
}

13
package-lock.json generated Normal file
View File

@ -0,0 +1,13 @@
{
"name": "parus_exchange_service",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"oracledb": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/oracledb/-/oracledb-2.3.0.tgz",
"integrity": "sha512-zTG1elqQ3kdGiu93OcWYje3YCFO2kfLBTC1KjEyxIck8gnH9H2vAqrE5AgPdPmColIf961g3KwwxcwlEnX0CpA=="
}
}
}

23
package.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "parus_exchange_service",
"version": "1.0.0",
"description": "Parus 8 and WEB API integration platform",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/CITKParus/ExchangeService.git"
},
"author": "CITK Parus",
"license": "ISC",
"bugs": {
"url": "https://github.com/CITKParus/ExchangeService/issues"
},
"homepage": "https://github.com/CITKParus/ExchangeService#readme",
"dependencies": {
"oracledb": "^2.3.0"
}
}