Protractor ConnectionError:连接丢失-在量角器中读取EconReset
我正在使用量角器52.2和cucumber 3.2.2。我正在使用带量角器的selenium网格(selenium-server-standalone-3.14.0.jar),并在4个不同节点的4个浏览器中运行脚本。我在数据库中有一个600行的表。最初,我从这个表中访问数据,通过我的量角器脚本输入每一行的数据,并在成功输入每一行后更新DB列。但在成功输入一些行之后,量角器脚本突然以错误“Protractor ConnectionError:连接丢失-在量角器中读取EconReset,protractor,azure-sql-database,cucumberjs,selenium-grid2,Protractor,Azure Sql Database,Cucumberjs,Selenium Grid2,我正在使用量角器52.2和cucumber 3.2.2。我正在使用带量角器的selenium网格(selenium-server-standalone-3.14.0.jar),并在4个不同节点的4个浏览器中运行脚本。我在数据库中有一个600行的表。最初,我从这个表中访问数据,通过我的量角器脚本输入每一行的数据,并在成功输入每一行后更新DB列。但在成功输入一些行之后,量角器脚本突然以错误“ConnectionError:Connection lost-read ECONNRESET in grad
ConnectionError:Connection lost-read ECONNRESET in gradutor
”结束“请求错误:资源ID:1。数据库的请求限制为60,并且已达到。请参阅“”以获取帮助。“下面给出了我正在使用的更新查询(我正在使用azure sql)。我不清楚如何解决此问题。请提前感谢
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var config =
{
userName: 'xxx',
password: 'xxxxx',
server: 'xxxxxx',
options:
{
database: 'xxx' ,
encrypt: true,
rowCollectionOnRequestCompletion: true
}
}
var connection = new Connection(config);
defineSupportCode(function ({ setDefaultTimeout, Given, When, Then }) {
setDefaultTimeout(30000 * 1000);
function updatedb(LPAID){
request = new Request("UPDATE COM_Location_Post with (rowlock) SET IsPublished = 1 WHERE Id ="+LPAID,function(err,rowCount, rows) {
if(err){
console.log(err)
}
});
connection.execSql(request);
}
});
您没有在脚本中使用连接关闭 你的问题很清楚,你面临这个问题 每次交易都尝试关闭连接
(async () => {
const config = {
user: 'User',
password: 'iPg$',
server: 'cp-sql',
database: 'DBI',
options: {
encrypt: true // Use this if you're on Windows Azure
}
}
try {
let pool = await sql.connect(config)
var envcode, testcode;
let result1 = await pool.request()
.query(`query 1 goes here`)
// console.dir(result1)
pool.close();
sql.close();
let pool1 = await sql.connect(config)
let result2 = await pool1.request()
.query(`query 2 goes here`)
// console.dir(result2)
pool1.close();
sql.close();
resolve(result2);
} catch (err) {
console.log(err)
}
})()
谢谢你的回复。你能告诉我如何在这个查询中使用connection close吗?编辑了答案@devleena。你应该在执行查询后获得连接的类型支持,看看连接是否显示方法close()。在显示我的记录集后,我使用conn.close终止连接实例。我在sql查询中使用connection close作为连接。on('connect',function(err){if(err){reject(err);connection.close();}else{request1=新请求(“EXEC[usp_GetPostDetails_Automation]”+clientID+,“+线程,function(err,rowCount,rows){if(err){reject(err);connection.close();}else{resolve('done');connection.close();}}};connection.execSql(request1);});此查询已成功执行,但当我尝试连接与此相同的下一个查询时,它不会执行下一个查询。在执行第一个查询后,进程将退出..那么我们是否有其他语法来重新连接?通过使用“connection.on”,它在第二次不起作用。你知道吗?