2017-01-05 2 views
4

J'essaie d'établir une connexion entre le projet nodejs et le serveur exécutant Microsoft SQL Server 2005. J'utilise un module de noeud mssql, mais j'obtiens ces erreurs lorsque je tente de créer une connexion:Connexion SQL Server au noeud js

{ [ConnectionError: Failed to connect to 123.123.12.1:1433 in 15000ms]
name: 'ConnectionError',
message: 'Failed to connect to 123.123.12.1:1433 in 15000ms',
code: 'ETIMEOUT' }

Ma connexion faite par

var sql = require('mssql'); 

var dbConfig = { 
    server:'123.123.12.1', 
    database:'testingDB', 
    user:'userName', 
    password:'pass', 
    port:1433 
}; 

function getEmp() { 
    var conn = new sql.Connection(dbConfig); 
    var req = new sql.Request(conn); 

    conn.connect(function(err) { 
     if(err) { 
      console.log(err); 
      return; 
     } 
    else { 
     console.log('success'); 
    } 
}); 
} 

getEmp(); 

Je ne sais pas ce que je fais mal, je me sers d'un nuage 9 IDE si cela aide.

+0

En fait, il y a une grande réponse ici: http://stackoverflow.com/a/31989348/5277639 – Leon

Répondre

7

Mettez votre var req = new sql.Request(conn) inside connect.

// config for your database 
var config = { 
    user: 'sa', 
    password: 'mypassword', 
    server: 'localhost', 
    database: 'SchoolDB' 
}; 

// 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 Student', function (err, recordset) { 

     if (err) console.log(err) 

     // send records as a response 
     res.send(recordset); 

    }); 
}); 
0
var webconfig = { 

user: 'login', 

password: '[email protected]', 

server: 'localhost', 

database: 'TestDB', 



options: { 

    encrypt: false // Use this if you're on Windows Azure 

} 

    } 




var express = require('express'); 

var sql = require('mssql'); 

var http = require('http'); 


var connection = new sql.Connection(webconfig, function(err) { 
var request = new sql.Request(connection); 
request.query('select * from Users', function(err, recordset) { 
    if(err)  // ... error checks 
     console.log('Database connection error'); 

console.dir("User Data: "+recordset); 
}); 
}); 

var app = express(); 

var port = process.env.PORT || 8000; 


    or visit here : https://nodejsbeginersprograms.blogspot.in/2017/02/nodejs-basic-tutorial-with-mssql.html 
2

Il fonctionne pour moi. Tout d'abord installer MSSQL par NPM (NPM installer --save MSSQL)

var sql = require('mssql'); 

pour le serveur SQL local

var sqlConfig = { 
    user: 'sa', 
    password: 'admin', 
    server: 'CBMOBILESHAMIM\\SQLEXPRESS', 
    database: 'databaseName' 
}; 

pour le serveur d'azur

var sqlConfig = { 
    user: 'adminLogin', 
    password: 'admin', 
    server: 'severname.database.windows.net', // don't add tcp & port number 
    database: 'databaseName', 
    options: { 
    encrypt: true 
    } 
}; 

Maintenant connecter au serveur

(async function() { 
    try { 
    console.log("sql connecting......") 
    let pool = await sql.connect(sqlConfig) 
    let result = await pool.request() 
     .query('select * from Subject') // subject is my database table name 

    console.log(result) 

    } catch (err) { 
    console.log(err); 
    } 
})() 

pour plus de détails vérifier mssql

+0

réponse très complète. Je vous remercie. –