2017-07-16 11 views
0

へのMySQLの接続は、私は、モジュールのためのMySQLの接続を提供する必要があるので、私はこのようなコード提供:私はからエラーを受け取ったノードおよびデータベース

var express = require('express'); 
var mysql = require('mysql') 
var app = express(); 

var connection = mysql.createConnection({ 
    host: '149.xxx.xx.x', 
    user: 'User', 
    password: 'Password', 
    database: 'DataBase', 
    port: 1443, 
}); 

connection.connect(
    function(error) { 
     console.log(error.code); // 'ECONNREFUSED' 
     console.log(error.fatal); // true 
     console.log(error.sql); 
     console.log(error.sqlMessage);  
} 
); 

といくつかの時間後(約1〜2分)をこれらconsole.logs:

ECONNRESET 
true 
undefined 
undefined 

私は多分それが原因で私の「nonactivity」のタイムアウトだと思うが、私はエラーが同じでクエリを実行しようとしているとき。

何が悪いと思いますか?私はそれをDataGripからチェックし、データは正しいです。

+0

どのようにクエリを実行していますか?そのコードを表示できますか? – aug

+2

あなたはそれがMySQLサーバーであると確信していますか?ポート1443はMS SQL Serverのデフォルトポートです。 – mscdex

+0

@mscdex明日は尋ねますが、バックエンドの開発者はmysqlについて教えてくれました。確かに私はノードライブラリのためにこのmssqlを調べるでしょう。 – P4TRYK

答えて

0

ここで小さなバグが1つ見つかりました。データベースはMS SQL Server(マイクロソフト)です。 correct- DataGripが接続され、データがあることを確認するために

{ ConnectionError: Failed to connect to 149.xxx.xx.x:1433 - connect ETIMEDOUT 149.xxx.xx.x:1433 
at Connection.<anonymous> (/Users/phuzarski/Learning/NodeJS/srv-express/node_modules/mssql/lib/tedious.js:353:25) 
at Connection.g (events.js:292:16) 
at emitOne (events.js:96:13) 
at Connection.emit (events.js:188:7) 
at Connection.socketError (/Users/phuzarski/Learning/NodeJS/srv-express/node_modules/tedious/lib/connection.js:791:12) 
at Socket.<anonymous> (/Users/phuzarski/Learning/NodeJS/srv-express/node_modules/tedious/lib/connection.js:33:15) 
at emitOne (events.js:96:13) 
at Socket.emit (events.js:188:7) 
at emitErrorNT (net.js:1277:8) 
at _combinedTickCallback (internal/process/next_tick.js:80:11) 


name: 'ConnectionError', 
    message: 'Failed to connect to 149.xxx.xx.x:1433 - connect ETIMEDOUT 149.xxx.xx.x:1433', 
    code: 'ESOCKET' } 

:私は今、そのデータベースに接続するためにmssqlと呼ばれるライブラリを使用しようとしている、いくつかのコード提供:

var config = { 
    server: "149.xxx.xx.x", 
    database: "Database", 
    user: "User", 
    password: "Password", 
    connectionTimeout: 300000, 
    requestTimeout: 300000, 
    pool: { 
     idleTimeoutMillis: 300000, 
     max: 100 
    } 
}; 

function getEmp() { 
    var connection = new sql.Connection(config); 
    var req = new sql.Request(connection); 

    connection.connect(function (error) { 
     if(error) { 
      console.log(error); 
      return; 
     } 
     req.query('Procedure', function(err, data) { 
      if (err) { 
       console.log(err); 
      } else { 
       console.log(data); 
      } 
      connection.close(); 
     }); 
    }); 
} 

getEmp(); 

を、私はエラーが表示されますここで大丈夫。

私はグーグルで同様の問題が見つかりましたが、問題はTCP/IPを無効にしていました。私はこれをチェックし、このポート1443でEnabledになっています。

関連する問題