我正在尝试在我的节点快速服务器和来自外部服务器的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端口的外部站点路由器和防火墙。连接正在工作,因为如果我为数据库选择另一条路径,并执行Firebird.create(.....),则将在指定的路径上创建数据库文件。但是我没有得到console.log(result)在db.query上的任何响应,甚至没有一个错误。控制台上唯一的msg是运行在端口MYPORT上的服务器。
如果我将查询更改为为数据库中不存在的表选择,则可能会造成错误。因此,代码是有效的,但当它似乎是一切都好,我没有得到任何反应。
数据库文件正常,因为它正在为另一个服务工作。
有可能我的电脑上有什么东西挡住了响应吗?比如防火墙之类的。任何帮助都将不胜感激。
发布于 2020-10-05 11:46:57
我已经知道问题出在哪里了。该库用于firebird 2.5+版本,而我的firebird服务器版本为2.1。-_-
https://stackoverflow.com/questions/63255202
复制相似问题