2017-03-16 143 views
0

在jasmine框架中使用webdriverio。需要连接到数据库,我使用node-mssql来做到这一点。无法使用node-mssql连接到db

var sql = require('mssql'); 

sql.connect("mssql://username:[email protected]/database").then(function() { 
    new sql.Request().query('select * from mytable').then(function(recordset) { 
     console.dir(recordset); 
    }).catch(function(err) { 
     // ... query error checks 
    }); 
}); 

上面的代码是给我的错误:“UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):ConnectionError:无法连接到未定义:1433 - 连接ECONNREFUSED 127.0.0.1:1433 (节点:24585) DeprecationWarning:未处理的承诺拒绝已被弃用,未来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。“

我想没有承诺自webdriverio代码是异步的承诺可能无法正常工作:

var connection = sql.connect(config); //config has all the parameters 
    var request = new sql.Request(); 
    request.query('select * from myTable'); 

的错误是:“查询是未定义”

我在做什么错?

+0

您是否确定可以使用客户端工具(例如SQL Server Management Studio和UDL)连接到SQL Server? https://blogs.msdn.microsoft.com/farukcelik/2007/12/31/basics-first-udl-test/ –

回答

0

您是使用npm请求包还是npm request-promise包?我遇到了使用promise版本的类似问题。你使用什么版本的节点?最新的稳定版本支持您可以用来处理异步代码的原生JavaScript Promises。我会在早上用一些示例代码更新这个答案,使用本地承诺实现和请求包。还取决于你的异步代码块的位置将有助于确定答案..它是在茉莉花'它'块或在conf文件或其他地方?