Mssql/nodejs ConnectionPool不是构造函数



我目前正在Youtube上学习一个关于nodejs和mssq的教程。在学习教程的过程中,我遇到了一个关于ConnectionPool的问题。由于这是一个有5年历史的视频,nodejs插件会随着时间的推移而改变(mssq/temploy(。

我的版本现在是6.2.0的mssql/乏味(最新版本(

它不再使用"sql.Connection(config("。许多人报告说,正在更改sql。到sql的连接(config(。ConnectionPool(config(修复了它们的问题。

但对我来说,事实并非如此。

下面你会发现3个文件,但让它变得糟糕的是这一行(connect.js(:

var conn = new sql.ConnectionPool(config);

配置实际上是这样的:

exports.config = {
user: 'dataGetter',
password: '1234',
server: 'localhost',
database: 'cegeptest',
};

错误:

TypeError: sql.ConnectionPool is not a constructor
at Object.exports.connectDatabase (C:_ProgrammingWorkInventoryCegepdatabaseconnect.js:7:14)
at Object.exports.getList (C:_ProgrammingWorkInventoryCegepdatabasequeriesvilles.js:5:11)
at C:_ProgrammingWorkInventoryCegeproutesvilles.routes.js:6:10
at Layer.handle [as handle_request] (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterlayer.js:95:5)
at next (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterroute.js:137:13)
at Route.dispatch (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterroute.js:112:3)
at Layer.handle [as handle_request] (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterlayer.js:95:5)
at C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterindex.js:281:22
at Function.process_params (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterindex.js:335:12)
at next (C:_ProgrammingWorkInventoryCegepnode_modulesexpresslibrouterindex.js:275:10)

提前感谢您的帮助:(

以下是与此相关的代码:

villes.routes.js

const router = require('express').Router();
const villes = require('../database/queries/villes.js');
router.get('/', (req, res) => {
//database.getList(req, res);
villes.getList(req, res);
res.render('villes');
});
module.exports = router;

villes.js

var connect = require('../connect');
//CRUD pour villes
exports.getList = function (req, res) {
connect.connectDatabase('SELECT * FROM Ville', function (data, err) {
if (err) {
res.writeHeader(500, 'Internal error occured', {
'Content-Type': 'text/html',
});
res.write(
'<html><head><title>500</title></head><body>500: internal error. Details: ' +
err +
'</body></html>'
);
} else {
res.writeHeader(200, { 'Content-type': 'application/json' });
res.write(JSON.stringify(data));
}
res.end();
});
}; //sortir la liste complète des villes

connect.js

var sql = require('mssql'); //On call le module microsoft Sql   (Installer avec :  npm i mssql)
var config = require('../settings').config; //On va chercher notre configuration exportée dans database/config.js
//sql.connect(config).then((pool) => {});
exports.connectDatabase = function (sql, callback) {
var conn = new sql.ConnectionPool(config);
console.log(conn);
};

问题就在这里:

var sql = require('mssql'); //On call le module microsoft Sql   (Installer avec :  npm i mssql)
var config = require('../settings').config; //On va chercher notre configuration exportée dans database/config.js
//sql.connect(config).then((pool) => {});
exports.connectDatabase = function (sql, callback) {
var conn = new sql.ConnectionPool(config);
console.log(conn);
};

功能参数sql覆盖实际的sql模块。将其重命名为sqlText,它就会工作。

exports.connectDatabase = function (sqlText, callback) {
var conn = new sql.ConnectionPool(config);
console.log(conn);
};

最新更新