2017-03-01 10 views
0

데이터베이스에서 데이터를 가져오고 있지만 다음 오류가 발생했습니다. {message : '요청은 SentClientRequest 상태가 아닌 LoggedIn 상태에서만 만들 수 있습니다', 코드 : 'EINVALIDSTATE'}. 나는 단지 하나 개의 쿼리 함수를 호출 할 경우, 그것은 작동하고 있지만 여러요청은 SentClientRequest 상태가 아닌 LoggedIn 상태에서만 만들 수 있습니다.

아래를 나는 같은 문제가 없었다 내 코드

var connection = new Connection(config); 
connection.on('connect', function(err) { 
// If no error, then good to proceed. 
if(!err) 
{ 
    console.log("Connected"); 
    executeStatement(); 
    executeStatement2(); 
} 
else 
{ 
    console.log(err); 
} 
}); 

var Request = require('tedious').Request; 
var TYPES = require('tedious').TYPES; 

function executeStatement() { 
request = new Request("Select p.product_name, s.product_id, s.price, s.create_date, s.update_date from products p left join sale s on (p.id = s.product_id) order by CONVERT(datetime, s.update_date) desc ;", function(err) { 
    if (err) { 
     console.log(err);} 
}); 

request.on('row', function(columns) { 
     var rowObject ={}; 
     columns.forEach(function(column) { 
      rowObject[column.metadata.colName] = column.value; 
     }); 
     var jsonArray = []; 
     jsonArray.push(rowObject); 

}); 

connection.execSql(request); 
} 


function executeStatement2() { 
request = new Request("Select * from products ;", function(err) { 
    if (err) { 
     console.log(err); 
    } 
}); 

request.on('row', function(columns) { 
    var rowObject ={}; 
    columns.forEach(function(column) { 
     rowObject[column.metadata.colName] = column.value; 
    }); 
    var jsonArray2 = []; 
    jsonArray2.push(rowObject); 

}); 
connection.execSql(request); 
} 
+0

VAR 연결 = 새로운 연결 (설정) 설정이에 연결하는 유효한 사용자 이름과 암호 속성을 포함해야 데이터베이스 –

답변

0

입니다. 서로 다른 두 개의 쿼리 요청을 실행할 수 없습니다. 이 솔루션은 하나 개의 쿼리 요청 및

request.on('requestCompleted', function() { // Next SQL statement. });

그것은이 문제에 언급에서 사용하고 있습니다 : https://github.com/tediousjs/tedious/issues/458