繁体   English   中英

如何解决“ConnectionError:无法连接到<server> :<port> 在 15000 毫秒内”错误?

[英]How do I fix the "ConnectionError: failed to connect to <server>:<port> in 15000ms" error?

第一次为 Azure SQL Server 数据库创建 Node/Express api。 看起来这只是延长超时限制的问题,但它也只是与数据库的连接,而不是实际查询。 这对于连接到 Azure 是否正常,实际上是延长超时将解决的问题还是其他问题?

索引.js

var express = require('express');
var router = express.Router();
const sql = require("../dboperation")

/* GET root route */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

// Test db connection
router.get('/testconnect', function(req, res, next) {
  sql.getdata();
  res.render('index', { title: 'Express' });
});

module.exports = router;

数据库操作.js

var config = require("./dbconfig")
const sql = require("mssql")


async function getdata(){
    try {
        let pool = await sql.connect(config)
        console.log("SQL Server connnected...")
    } catch(error) {
        console.log("error: " + error)
    }
}

module.exports = {
    getdata: getdata,
}

数据库配置文件

const config = {
    user : "username",
    password : "password",
    server : "server-name.database.windows.net",
    database : "database-name",
    options: {
        trustedConnection: true, 
        enableArithAort: true,
        encrypt: true
    },
    port: 49678
}

module.exports = config;

SQL Server 配置管理器:

在此处输入图片说明

在此处输入图片说明

您可以尝试延长一次超时时间。

假设您已经设置了适当的环境变量,您可以按如下方式构造一个配置对象:

const sql = require('mssql')

const sqlConfig = {

  user: process.env.DB_USER,

  password: process.env.DB_PWD,

  database: process.env.DB_NAME,

  server: 'localhost',

  pool: {

    max: 10,

    min: 0,

    idleTimeoutMillis: 30000

  },

  options: {

    encrypt: true, // for azure

    trustServerCertificate: false // change to true for local dev / self-signed certs

  }

}



async () => {

 try {

  // make sure that any items are correctly URL encoded in the connection string

  await sql.connect(sqlConfig)

  const result = await sql.query`select * from mytable where id = ${value}`

  console.dir(result)

 } catch (err) {

  // ... error checks

 }

}

参考链接 - https://tediousjs.github.io/node-mssql/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM