[英]How do I fix the "ConnectionError: failed to connect to <server>:<port> in 15000ms" error?
First time creating a Node/Express api to an Azure SQL Server database.第一次为 Azure SQL Server 数据库创建 Node/Express api。 It seems like this is just a matter of extending the timeout limit, but it's also just a connection to the database and not an actual query.
看起来这只是延长超时限制的问题,但它也只是与数据库的连接,而不是实际查询。 Is this normal for connecting to Azure and is it actually an issue that extending the timeout will fix or is something else the problem?
这对于连接到 Azure 是否正常,实际上是延长超时将解决的问题还是其他问题?
index.js索引.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;
dboperation.js数据库操作.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,
}
dbconfig.js数据库配置文件
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 Configuration Manager: SQL Server 配置管理器:
You can try by extending timeout once.您可以尝试延长一次超时时间。
Assuming you have set the appropriate environment variables, you can construct a config object as follows:假设您已经设置了适当的环境变量,您可以按如下方式构造一个配置对象:
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
}
}
Reference link - https://tediousjs.github.io/node-mssql/参考链接 - https://tediousjs.github.io/node-mssql/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.