2014-01-25 186 views
0

這是我的代碼:¿如何將node.js與mssql服務器和模塊mssql連接?

var express = require('express'); 
var http = require('http'); 
var app = express(); 
var sql = require('mssql'); 
var path = require('path'), 
    html5 = require('ejs').__express; 

app.set('port', process.env.PORT || 3000); 
app.engine('.html', html5); 
app.set('views', __dirname + '/views'); 
app.set('view engine', 'html'); 

http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

var config = { 
    user: 'dbo', 
    password: '', 
    server: 'localhost', 
    database: 'db_name' 
} 

sql.connect(config, function(err) { 
    // ... error checks 

    // Query 

    var request = new sql.Request(); 
    request.query('select * from table_name', function(err, recordset) { 
     // ... error checks 

     console.log(recordset); 

     app.get('/', function(request, response) { 

      response.send(err); 

     }); 


    }); 



}); 

在控制檯記錄設置我的留言:「未定義」 和本地主機:3000的消息是:「登錄失敗;一個或一個以上的errorMessage事件應該已經發出的」我使用MSSQLSERVER 2012.謝謝你的答案。

回答

1

經過多天,我決定連接MSSQL服務器和PHP,因爲我認爲最簡單,但我發現同樣的問題:登錄失敗。然後我試圖連接並看到真正的麻煩:Windows驗證。結論:使用mssql模塊的正確方法是sql server auth和可用端口1433.

//e.g.: 
var config = { 
user: 'sa', 
password: '******', 
server: 'ip_server', 
database: 'db_name' 
} 
+0

您能否詳細說明您是否讓mssql與節點一起工作?我遇到了一個問題,當它嘗試登錄時,它只是未定義。 – Jay

+0

我忘了說這個配置也可以和nodejs一起使用。 –