![](/img/trans.png)
[英]Timeout error while connecting to SQL Server: Connection Error: Failed to connect to servername\instancename in 15000ms
[英]seriate RequestError: SqlContext Error. Failed on step “GetData” with: "Timeout: Request failed to complete in 15000ms
我正在尝试使用 seriate 从节点服务器在我的 SQL 数据库上运行存储过程。 但是我得到了以下错误,我不知道为什么。 我真的很感谢你的帮助。
错误:{ [请求错误:SqlContext 错误。 步骤“GetData”失败:“超时:请求无法完成我 15000 毫秒”] 名称:“RequestError”,消息:“SqlContext 错误。 步骤“GetData”失败:“超时请求未能在 15000 毫秒内完成”',代码:'ETIMEOUT',编号:'ETIMEOUT',行号:未定义,状态:未定义,类:未定义,服务器名称:未定义,procName:未定义, 前面的错误: [], 步骤: 'GetData' }
这是我的代码:
var sql = require( "seriate" );
var connection = {
name: "example-1",
user: "user",
password: "pass",
host: "host_ip",
database: "Test"
};
exports.getDataSql = function(req, res) {
var results = {};
sql.execute( connection, {
procedure: "GetData",
params: {
Name: {
type: sql.NVARCHAR(50),
val: "user2"
},
LName: {
type: sql.NVARCHAR(50),
val: "user1"
},
finalName: {
type: sql.NVARCHAR(50),
val: "user3"
}
}
}).then( function( results ) {
console.log("getting data: ");
res.json(results[0][0]);
}, function( err ) {
console.log( "Error", err );
res.status(500).send({ error: 'Something failed!' });
} );
};
您可能需要按如下方式增加请求超时:
var connection = {
name: "example-1",
user: "user",
password: "pass",
host: "host_ip",
database: "Test",
requestTimeout: 300000
};
还有一个 connectionTimeout 属性也可能会影响您。 但是这个问题很可能是requestTimeout
在我的情况下,错误是由于未提交的事务。 关闭 SQL Management Studio 可以释放表,因为我在从编辑器提交之前的事务时出错。
我使用该库实现的 mssql。 mssql 使用繁琐的方式连接到远程数据库。 就我而言,我在 Azure 函数中使用它,但没有调用
pool.close()
在每次执行结束时,所以它用尽了连接然后开始超时。 乏味可能应该提供更好的错误描述。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.