Я пытаюсь установить sh соединение между моим сервером node express и базой данных Firebird с внешнего сервера. Я использую эту node-firebird библиотеку
Это мой код в моем индексе. js:
require("dotenv").config(); //Environment variables
const express = require("express");
const morgan = require("morgan");
const Firebird = require('node-firebird');
//Express Initilization
const app = express();
//MORGAN Configuration
app.use(morgan("dev"));
app.use( express.json() );
app.use( express.static("public") );
const options = {
"host" : 'externalddns.ddns.net',
"port" : 3050,
"database" : 'c:/database/databaseName.fb',
"user" : 'SYSDBA',
"password" : 'masterkey',
"lowercase_keys" : false,
"role" : null,
"pageSize" : 4096
};
Firebird.attach(options, function(err, db) {
if (err) {
throw err;
}
const query = "SELECT * FROM MYTABLE";
db.query(query, function(err, result) {
if(err){
console.log(err);
}
console.log(result);
// Close the connection
db.detach();
});
});
app.listen(process.env.PORT, () => {
console.log("Server running on port " + process.env.PORT);
});
Я уже открыл порт 3050 на внешнем маршрутизатор сайта и межсетевой экран. Соединение работает, потому что если я выберу другой путь для базы данных и сделаю Firebird.create(.....)
, файл базы данных будет создан по указанному пути. Но я не получаю никакого ответа от console.log (результат) на db.query
, даже ошибки. Единственное сообщение на консоли: Сервер, работающий на порте MYPORT .
Я могу вызвать ошибку, если изменю запрос для выбора таблицы, которой нет в базе данных. Итак, код работает, но когда кажется, что все в порядке, я не получаю никакого ответа.
Файл базы данных в порядке, потому что он работает для другой службы.
Возможно ли, что что-то на моем p c блокирует ответ? Как брандмауэр или что-то в этом роде. Любая помощь приветствуется.