2017-10-14 18 views
0

ノードJsアプリケーションからSQL Serverに接続しようとすると、以下の問題が発生する。ノードjsアプリケーションからのSQL Server接続の問題

使用されるSQL Server名はDESKTOP-FCM7L54\SRINIVASです。

エラーの詳細:

{ ConnectionError: Failed to connect to DESKTOP-FCM7L54SRINIVAS:1433 - getaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVAS

at Connection.base.ConnectionPool._poolCreate.base.Promise.tedious.once.err (C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\mssql\lib\tedious.js:216:17)
at Connection.g (events.js:292:16)
at emitOne (events.js:96:13)
at Connection.emit (events.js:188:7)
at Connection.socketError (C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:699:14)
at C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connection.js:590:25
at C:\Users\Owner\documents\visual studio 2015\Projects\NodejsConsoleApp3\SqlNodejs\node_modules\tedious\lib\connector.js:68:18
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:89:17)
Code: 'ESOCKET',

var express = require('express'); 
var app = express(); 
var sql = require("mssql"); 

// config for your database 
var config = { 
    server: 'DESKTOP-FCM7L54\SRINIVAS', 
    database: 'Test', 
    user: 'sa', 
    password: 'test', 
    port: 1433 
}; 

app.get('/', function (req, res) { 
    //connect to your database 
    sql.connect(config, function (err) { 
     if (err) console.log(err); 
     // create Request object 
     var request = new sql.Request(); 
     // query to the database and get the records 
     request.query('select * from Customer', function (err, recordset) { 
      if (err) console.log(err) 
      // send records as a response 
      res.send(recordset); 
     }); 
    }); 
    sql.close(); 
}); 

var server = app.listen(5000, function() { 
    console.log('Server is running..'); 
}); 

答えて

0

あなたが取得しているエラーコードが見つからない場合、接続を意味ENOTFOUND、です。ホストとポートを確認し、実際にこのポートでサービスが実行されていることを確認します。
さらに1つはあなたのエラーで見ることができると思います - それはgetaddrinfo ENOTFOUND DESKTOP-FCM7L54SRINIVASと表示されています - あなたの名前にバックスラッシュがないことに気づいて、それをエスケープしている可能性があります。多分接続しようとするとDESKTOP-FCM7L54\\SRINIVAS

この問題には関係していない別のことは、あなたが正しくエラーを処理していないことです。コンソールに出力しますが、コードの流れを止めません。望ましくない動作を引き起こす可能性があります。

関連する問題