【问题标题】:Unable to connect to db using node-mssql无法使用 node-mssql 连接到数据库
【发布时间】:2017-03-16 03:52:56
【问题描述】:

将 webdriverio 与 jasmine 框架一起使用。需要连接到数据库,我正在使用 node-mssql 来执行此操作。

var sql = require('mssql');

sql.connect("mssql://username:password@localhost/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:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。”

我尝试不使用 promise,因为 webdriverio 中的代码是异步的,promise 可能无法正常工作:

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

错误是:“查询未定义”

我做错了什么?

【问题讨论】:

标签: sql-server jasmine webdriver-io


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-15
    • 2020-03-07
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多