无法使用node-mssql连接到db
问题描述:
在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');
的错误是:“查询是未定义”
我在做什么错?
答
您是使用npm请求包还是npm request-promise包?我遇到了使用promise版本的类似问题。你使用什么版本的节点?最新的稳定版本支持您可以用来处理异步代码的原生JavaScript Promises。我会在早上用一些示例代码更新这个答案,使用本地承诺实现和请求包。还取决于你的异步代码块的位置将有助于确定答案..它是在茉莉花'它'块或在conf文件或其他地方?
您是否确定可以使用客户端工具(例如SQL Server Management Studio和UDL)连接到SQL Server? https://blogs.msdn.microsoft.com/farukcelik/2007/12/31/basics-first-udl-test/ –