2014-01-25 35 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一起使用。 –