You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// connection timeout, can set the attribute on ODBC driver connect :-
// note people have reported this attribute does not cover all cases, I have tested with no server // listening, and do receive error back within the timeout period. Can use conn_str directly as before.
var connectionObj = {
conn_str: connStr,
conn_timeout: 2
};
msnodesql.open(connectionObj, function (err, conn) {
if (err) {
console.error(err);
process.exit();
}
;
done(conn);
});
With the recent error handling changes, I think handling multiple errors would be a next logical step. With the following query, only the first error returns an error to the query callback:
I have cancel on a branch checked in and appears to be working. It is a fairly substantial change so I will test over coming days before merging it across and releasing. You can now cancel a stored proc call, prepared query or vanilla query,
test('cancel single query from notifier using tmp connection - expect Operation canceled', function (test_done) {
var q = sql.query(conn_str, "waitfor delay \'00:00:20\';", function (err) {
assert(err);
assert(err.message.indexOf('Operation canceled') > 0);
test_done();
});
q.on('submitted', function () {
q.cancelQuery(function (err) {
assert(!err);
});
});
});
@TimelordUK Can you please help me figure out how to handle multiple errors? This is my code:
sql.open(connectionString,function(err,con){if(err){console.log('failed to open '+err.message)}constreq=con.query('select a;select b;',(err)=>{console.log("done",err)})req.on("info",(msg)=>{console.log("info",msg)})req.on("error",(msg)=>{console.log("error",msg)})})
All I get is:
done { Error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'a'. sqlstate: '42S22', code: 207 }
Running the comamnd via Tedious or SQL Server Management Studio gives me this:
Msg 207, Level 16, State 1, Line 1
Invalid column name 'a'.
Msg 207, Level 16, State 1, Line 1
Invalid column name 'b'.
Thank you. Great job on adding all the missing features btw!
constsql=require('msnodesqlv8')constconnectionString='Driver={SQL Server Native Client 11.0}; Server=np:\\\\.\\pipe\\LOCALDB#E086FCD9\\tsql\\query; Database={master}; Trusted_Connection=Yes;'sql.open(connectionString,function(err,con){if(err){console.log('failed to open '+err.message)}constreq=con.query('select a;select b;')req.on("error",(msg)=>{console.log("error",msg)})})
error { [Error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'a'.] sqlstate: '42S22', code: 207 }
error { [Error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'b'.] sqlstate: '42S22', code: 207 }
Activity
TimelordUK commentedon Dec 25, 2015
// connection timeout, can set the attribute on ODBC driver connect :-
// note people have reported this attribute does not cover all cases, I have tested with no server // listening, and do receive error back within the timeout period. Can use conn_str directly as before.
patriksimek commentedon Dec 25, 2015
Thanks, it's working, but as you said, it's not very reliable. Real timeout varies according to the type of test.
TimelordUK commentedon Dec 28, 2015
i added query timeout via the API, this seems to be more exact in terms of behavior.
I will take a look at adding query request cancel.
TimelordUK commentedon May 18, 2016
Can you think of a simple example which should raise more than one error so I can take a look at this request.
ratanaklun commentedon Apr 7, 2017
With the recent error handling changes, I think handling multiple errors would be a next logical step. With the following query, only the first error returns an error to the query callback:
Interestingly, the callback does get called two times with a null error.
TimelordUK commentedon Jun 11, 2017
OK, This should be supported on latest version.
TimelordUK commentedon Jun 30, 2017
I have cancel on a branch checked in and appears to be working. It is a fairly substantial change so I will test over coming days before merging it across and releasing. You can now cancel a stored proc call, prepared query or vanilla query,
TimelordUK commentedon Dec 31, 2017
closing let me know what else is required.
patriksimek commentedon Jul 5, 2018
@TimelordUK Can you please help me figure out how to handle multiple errors? This is my code:
All I get is:
Running the comamnd via Tedious or SQL Server Management Studio gives me this:
Thank you. Great job on adding all the missing features btw!
TimelordUK commentedon Jul 7, 2018
ill release a fix for this
error { [Error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'a'.] sqlstate: '42S22', code: 207 }
error { [Error: [Microsoft][SQL Server Native Client 11.0][SQL Server]Invalid column name 'b'.] sqlstate: '42S22', code: 207 }