Это потому, что getConnection не возвращает соединение, а возвращает обещание.Вы можете настроить промежуточное программное обеспечение Express, чтобы присоединять соединение к каждому запросу к вашему приложению Express:
app.use((req, res, next) => {
oracledb.getConnection(
{
user : dbConfig.user,
password : dbConfig.password,
connectString : dbConfig.connectString
},
(error, conn) => {
if (err)
{
console.log(err);
}
else
{
req._oracledb = conn;
next();
}
});
Теперь, когда пользователь делает запрос, вы можете использовать соединение следующим образом:
app.get('/', (req,res) => { req._oracledb.query('queryString', callback });
Тогда ваша версия будет выглядеть так:
app.get('/',function(req,res){
req._oracledb.query('SELECT * from employees', function(err, rows, fields)
{
connection.end();
if (!err)
{
console.log('The solution is: ', rows);
}
else
{
console.log('Error while performing Query.');
}
});
});
Connection.connect не требуется после получения вашего соединения через getConnection, так как соединение уже открыто.
Надеюсь, это поможет