无法从 Node Express 服务器中的 Firebird 获得响应
Can't get response from Firebird in Node Express Server
我正在尝试在我的节点快速服务器和来自外部服务器的 Firebird 数据库之间建立连接。我正在使用这个 node-firebird 库
这是我在 index.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 端口。连接正常,因为如果我 select 数据库的另一个路径并且我 Firebird.create(.....)
数据库文件正在指定的路径上创建。但是我没有从 db.query
上的 console.log(result) 得到任何响应,甚至没有错误。控制台上唯一的消息是端口 MYPORT.
上的 Server 运行
如果我将数据库中不存在的 table 的查询更改为 select,我可能会强制出错。所以代码可以正常工作,但是当它似乎一切正常时我没有得到任何响应。
数据库文件正常,因为正在为另一项服务工作。
是否可能是我电脑上的某些东西阻止了响应?比如防火墙之类的。任何帮助将不胜感激。
我已经知道问题出在哪里了。该库适用于 firebird 2.5+ 版本,而我的 firebird 服务器版本是 2.1。 -_-
我正在尝试在我的节点快速服务器和来自外部服务器的 Firebird 数据库之间建立连接。我正在使用这个 node-firebird 库
这是我在 index.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 端口。连接正常,因为如果我 select 数据库的另一个路径并且我 Firebird.create(.....)
数据库文件正在指定的路径上创建。但是我没有从 db.query
上的 console.log(result) 得到任何响应,甚至没有错误。控制台上唯一的消息是端口 MYPORT.
如果我将数据库中不存在的 table 的查询更改为 select,我可能会强制出错。所以代码可以正常工作,但是当它似乎一切正常时我没有得到任何响应。
数据库文件正常,因为正在为另一项服务工作。
是否可能是我电脑上的某些东西阻止了响应?比如防火墙之类的。任何帮助将不胜感激。
我已经知道问题出在哪里了。该库适用于 firebird 2.5+ 版本,而我的 firebird 服务器版本是 2.1。 -_-