我正在尝试使用seriate从节点服务器在我的SQL数据库上运行存储过程。但是我得到了以下错误,我不知道为什么。我非常感谢你的帮助。
错误:{[RequestError:SqlContext错误。 步骤“GetData”失败:“超时:请求未能完成i 15000ms“] 名称:'RequestError', 消息:'SqlContext错误。步骤“GetData”失败:“超时 请求未能在15000ms“'完成, 代码:'ETIMEOUT', 编号:'ETIMEOUT', lineNumber:未定义, state:undefined, class:undefined, serverName:undefined, procName:undefined, 前错误:[], 步骤:'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!' });
} );
};
答案 0 :(得分:3)
您可能需要按如下方式提升请求超时:
var connection = {
name: "example-1",
user: "user",
password: "pass",
host: "host_ip",
database: "Test",
requestTimeout: 300000
};
还有一个可能对您有影响的connectionTimeout属性。但是这个问题可能就是requestTimeout
答案 1 :(得分:0)
就我而言,该错误是由于未提交的交易引起的。关闭SQL Management Studio会释放表,因为我从编辑器提交上一个事务时出错。
答案 2 :(得分:0)
我使用该库实现的mssql。 mssql使用乏味的连接到远程数据库。 就我而言,我是在Azure函数内部使用它的,没有调用
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="info"></div>
<div id="down">
scroll down please...
</div>
<video id="video1" controls muted played="false">
<source src="https://www.w3schools.com/html/movie.mp4" type="video/mp4">
<source src="https://www.w3schools.com/html/movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<video id="video2" controls muted played="false">
<source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4"/>
<source src="https://www.w3schools.com/html/mov_bbb.ogg" type="video/ogg"/>
Your browser does not support the video tag.
</video>
在每次执行结束时,它用尽了所有连接,然后开始超时。繁琐的操作应该可以提供更好的错误描述。