pra*_*nde 5 sql-server node.js npm
我正在创建一个将在 Node js 中通过 Udp 协议进行通信的应用程序。另外,我使用 sql server 作为数据库,因此为了连接该数据库,我使用mssqlnpm 库。基本上我正在做的事情是我有一个单独的 dbcon 模块,如下所示
const sql = require('mssql')
const config = {
user: 'sa',
password: '123',
server: '192.168.1.164', // You can use 'localhost\\instance' to connect to named instance
database: 'SBM-EMCURE',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
sql.connect(config, err => {
})
sql.on('error', err => {
console.log('error on sql.on()');
})
module.exports.sql = sql;
Run Code Online (Sandbox Code Playgroud)
我正在使用这个导出的 sql 对象在 dbcon 模块之外运行查询,但有时它会给我带来不同的行为,例如在数据库连接之前执行查询,有没有办法为整个应用程序使用单个数据库连接?使用单个数据库连接很有用,否则会减慢我的进程
提前致谢
小智 2
你可以:
app访问它req.app.sqlres.app.sql此外,在您的示例代码中,您通过调用 来启动连接sql.connect(),但在连接完成时不会为其提供回调。这导致它被立即导出并可能在实际建立连接之前被查询。做这个:
const util = require('util');
const sql = require('mssql');
const config = {
user: 'sa',
password: '123',
server: '192.168.1.164',
database: 'SBM-EMCURE',
options: {
encrypt: false
}
};
module.exports = util.promisify(sql.connect)(config);
Run Code Online (Sandbox Code Playgroud)
然后您可以使用以下命令检索实例:
const sql = await require('./database.js');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2863 次 |
| 最近记录: |