使用Node.js从MSSQL请求数据-错误

问题描述 投票:2回答:2

我想使用nodejs从MSSQL连接并向其请求以将其与magento链接。我现在尝试修复几天,但以相同的方式结束...

这是我的错误代码:

Connected
{ RequestError: Requests can only be made in the LoggedIn state, not the Connecting state
at RequestError (C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\errors.js:34:12)
at Connection.makeRequest (C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\connection.js:1423:33)
at Connection.execSql (C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\connection.js:1194:19)
at executeStatement (C:\Workspace\Visual-Code\nodeApi\nodeapi.js:41:20)
at Connection.<anonymous> (C:\Workspace\Visual-Code\nodeApi\nodeapi.js:14:9)
at emitOne (events.js:116:13)
at Connection.emit (events.js:211:7)
at Connection.socketError (C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\connection.js:869:14)
at C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\connection.js:739:25
at GetAddrInfoReqWrap.callback (C:\Workspace\Visual-Code\nodeApi\node_modules\tedious\lib\connector.js:68:18)
message: 'Requests can only be made in the LoggedIn state, not the 
Connecting state',
code: 'EINVALIDSTATE' }

我进行了很多搜索,发现了类似的问题,但没有任何解决方法...这是我的代码,也许您可​​以帮助我发现错误。

var Connection = require('tedious').Connection;  
var config = {  
    userName: 'Cool userName',  
    password: 'awesome password',  
    server: 'amazing server',
    options: {
        database: 'database',
    }  
};  
var connection = new Connection(config);  
connection.on('connect', function(err) {  
    // If no error, then good to proceed.  
    console.log("Connected");  
    executeStatement();  
});  

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

function executeStatement() {  
    request = new Request("select * from Artikelstamm;", function(err) {  
    if (err) {  
        console.log(err);}  
    });  
    var result = "";  
    request.on('row', function(columns) {  
        columns.forEach(function(column) {  
          if (column.value === null) {  
            console.log('NULL');  
          } else {  
            result+= column.value + " ";  
          }  
        });  
        console.log(result);  
        result ="";  
    });  

    request.on('done', function(rowCount, more) {  
    console.log(rowCount + ' rows returned');  
    });  
    connection.execSql(request);
}  
sql sql-server node.js request connect
2个回答
0
投票

通过添加CleintIP将防火墙规则设置为数据库。在Azure SQLDB中,有“设置防火墙规则”按钮。您可以使用它来添加IP。


0
投票

@@ dasKamel您是否已回答此问题。我目前正面临完全相同的问题,但看不到任何解决方案-

谢谢,S

© www.soinside.com 2019 - 2024. All rights reserved.