如何使用NodeJS连接Redshift数据库



我无法使用Node连接到红移数据库。我使用的是NodeJS版本14.15.1。是否存在与此版本相关的任何问题?

下面的代码,我已经在本地机器中尝试过了,redshift.js文件

var Redshift = require('node-redshift');

var client = {
user: 'user',
database: 'db',
password: 'password',
port: port,
host: 'hostname',
};
var redshiftClient = new Redshift(client, {rawConnection:true});

module.exports = redshiftClient;

以下是从数据库中获取值的代码,index.js文件

var redshiftClient = require('./redshift.js');
console.log('Before Connection');
redshiftClient.connect(function(err){
console.log('After Connection');
if(err) throw err;
else{
redshiftClient.query('SELECT * FROM "customer"', {raw: true}, function(err, data){
if(err) throw err;
else{
console.log(data);
redshiftClient.close();
}
});
}
});

如果我运行这个代码没有得到错误,甚至这一行也没有执行console.log('After Connection');

该包似乎有点被放弃了,因为这是一个带有确切问题的开放问题

要解决此问题,您需要手动应用此解决方案

转到node_modules/node-redshift并更换

"dependencies": {
"commander": "^2.9.0",
"migrate": "^0.2.2",
"pg": "^6.1.2",
"sql-bricks": "^1.2.3"
},

package.json到中

"dependencies": {
"commander": "^2.9.0",
"migrate": "^0.2.2",
"pg": "^8.1.5",
"sql-bricks": "^1.2.3"
},

在该目录中运行npm install以便更新该包。之后你的代码将工作

最新更新