亠灬亠 2022-02-10 18:07 采纳率: 0%
浏览 111

node.js如何连接远程服务器上的数据库

我使用node.js安装了express和mssql,然后写了如下代码

var express = require('express');
var app = express();
var sql = require("mssql");
// 远程数据库查询语句及配置
let sqlStr = "SELECT * FROM [XSCADDB].[dbo].[护套库]"
var config = {
    user: 'sa',  // update me
    password: 'sa123456789',   // update me
    server: 'WFTYSERVER3',  // update me
    database: 'XSCADDB',   // update me
    encrypt:false
};
// 本地数据库查询语句及配置
let sqlStr1 = "SELECT * FROM [test].[dbo].[tes]"
var config1 = {
    user: 'sa',  // update me
    password: 'sa123456789',   // update me
    server: 'localhost',  // update me
    database: 'test',   // update me
    encrypt:false   //  不加上这个会报错:connect error
};

app.get('/', function (req, res) {
    sql.connect(config, function (err) {
        if (err) () => {console.log(err);return}
        // create Request object
        var request = new sql.Request();
        // query to the database and get the records
        request.query(sqlStr, function (err, recordset) {
            if (err) () => {
                console.log(err);return
            }
            // send records as a response
            res.send(recordset);
            console.log(recordset.recordset);
        });
    });
});
console.log("创建server");
var server = app.listen(5152, function () {
    console.log('Server is running in ↓');
    console.log('localhost:5152');
});
当我把数据库连接代码切换为远程时,无法连接,好像在哪看到配置内server不能用ip地址,于是写了服务器的名称(即WFTYSERVER3),但还是无法连接
是否只能将代码放在服务器上,本地访问服务器的数据库
  • 写回答

2条回答 默认 最新

  • CSDN专家-微编程 2022-02-10 18:12
    关注

    远程服务器的话,你本地链接要使用服务器的ip地址而不是localhost,,如果你的主机名和ip没有做好映射关系是无法进行连接的,另外主机有防火墙安全策略,需要开放对应的端口号或者直接关闭防火墙

    评论

报告相同问题?

问题事件

  • 修改了问题 2月10日
  • 创建了问题 2月10日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!