2017-01-05 8 views
4

Я пытаюсь установить соединение между проектом nodejs и сервером под управлением Microsoft SQL Server 2005. Я использую модуль узла mssql, но я получаю эти ошибки, когда пытаюсь создать соединение:Подключение SQL Server к узлу 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' }

Моя связь делается по

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(); 

Я не уверен, что я делаю неправильно, я использую облако 9 IDE, если это помогает.

+0

на самом деле, есть большой ответ здесь: http://stackoverflow.com/a/31989348/5277639 – Leon

ответ

7

Поместите свой var req = new sql.Request(conn) внутрь.

// 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

Это работает для меня. Сначала установите MSSQL по НПМ (NPM установки --save MSSQL)

var sql = require('mssql'); 

для локального сервера SQL

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

для лазурного сервера

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

Теперь подключите к серверу

(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); 
    } 
})() 

для более подробной проверки mssql

+0

Очень основательный ответ. Спасибо. –