javascript - 在 node.js 中使用 mssql 关闭 MSSQL 连接

标签 javascript sql-server node.js

我正在尝试在 node.js 中编写脚本来查询 MSSQL 数据库。我是 javascript 的新手,node.js 的新手,VSCode 的新手,但我知道一些关于 SQL 的事情。我有工作代码,但连接似乎永远不会关闭,而且我无法从函数中获取值。

所以,我有这段代码,是从 npm 的例子中得到的:

const sql = require('mssql');
var dbConfig = {
    server:'theServer',
    database:'theDB',
    user:'un',
    password:'pw',
    port:1433
};

sql.connect(dbConfig).then(pool => {
    // Query     
    return pool.request()
    .query('select top 10 * from THE_TABLE')
}).then(result => {
    console.log(result);
}).catch(err => {
    // ... error checks
})

这有效,我可以看到控制台中记录了 10 个结果。但是,代码永远不会停止运行。如何关闭和停止连接?

我很想把结果保存到一个变量中,所以我把代码改成这样:

const sql = require('mssql');
var dbConfig = {
    server:'theServer',
    database:'theDB',
    user:'un',
    password:'pw',
    port:1433
};

let theList;
sql.connect(dbConfig).then(pool => {
    // Query     
    return pool.request()
    .query('select top 10 * from THE_TABLE')
}).then(result => {
    theList= result;
}).catch(err => {
    // ... error checks
})

console.log(theList);

这会将“undefined”返回到 theList 的控制台,并且连接似乎永远不会结束,并且脚本永远不会关闭。

我如何获取查询结果并继续前进??

最佳答案

这对我有用。有一个 .close() 方法。

const DB = require("mssql")
const config = require("./config.json")
DB.connect(config)
   .then((conn) => 
      conn.query("SELECT * FROM table1")
         .then((v) => console.log(v))
         .then(() => conn.close())
   )

关于javascript - 在 node.js 中使用 mssql 关闭 MSSQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681727/

相关文章:

javascript - 使点击仅适用于父项

javascript - 更改弹出日历月份语言

c# - c#中的参数验证、存储过程和数据访问层

javascript - 无法使用 AngularJS 将对象传递到 Web 后端

node.js - 创建新记录时如何在 sails 中使用 "await"

javascript - 如何在 asp.net 中使用 jquery 隐藏 <div> 标签?

javascript - 未捕获的类型错误 : toUpperCase is not a function when binding option dynamically to data-tokens bootstrap

sql - 操作数类型冲突 : uniqueidentifier is incompatible with int

JAVA sql NOT IN 列表语句

javascript - Node.js 的 AES-CMAC 模块?