Я использую mssql api в Node.js для соединения с базой данных SQL, я получаю информацию о соединении из файла json конфигурации:
"mssql": {
"user": "XX",
"password": "XXXX",
"server": "XXXXXX",
"database": "XXXXXX"
},
Конфигурация читает нормально, и я использую эти функции для подключения иquery:
var olderOneDayMSSQL = (query) => {
sql.connect(dbconfig).then(async () => {
const result = await sql.query(query);
//console.log(result);
sql.close();
return result;
}).catch((err) =>{
console.log(err);
sql.close();
}).finally(()=> {
sql.close();
});
}
var test3 = (req,res,query) => {
var conn = new sql.ConnectionPool(dbconfig);
var req = new sql.Request(conn);
var result;
return conn.connect().then(async() => {
result = await req.query(query);
//console.log(result);
conn.close();
return result;
//console.log(result);
//conn.close();
}).catch(e => {
return e;
}).finally(() => {
conn.close();
});
}
В моих маршрутах я вызываю эти функции:
router.get("/countMSSQL1", function(req,res) {
var query = `SELECT TOP 1 title,id
FROM [XX].[dbo].[XXX] where lastChange < dateadd(day,-1,getdate())`;
olderOneDayMSSQL(query).then((result) => {
res.json(result);
}).catch((err) => {
res.status(500).send({ message: `${err}`});
});
});
router.get("/testQuery", async function(req,res) {
var query = `SELECT Top 3 title
FROM [XXX].[dbo].[XXXX] where lastChange < dateadd(day,-1,getdate())`;
var result1 = await test3(query);
res.json(result1);
}
Но я получаю эту ошибку:
TypeError: Cannot add property port, object is not extensible
at new ConnectionPool (C:\Users\m\Desktop\index-watcher-m\node_modules\mssql\lib\base.js:141:22)
at new ConnectionPool (C:\Users\m\Desktop\index-watcher-m\node_modules\mssql\lib\tedious.js:193:1)
at Object.connect (C:\Users\m\Desktop\index-watcher-m\node_modules\mssql\lib\base.js:1637:22)
странно то, что я не получал эту ошибку со вчерашнего дня ..?!
РЕДАКТИРОВАТЬ: я читал об Object.preventExtension () здесь https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Fehler/Cant_define_property_object_not_extensible, но я никогда не устанавливал это свойство...
РЕДАКТИРОВАТЬ: Если я ввожу обычный объект конфигурации json как sql.conn (параметр) вручную, он работает нормально, почему я получаю эту ошибку?Нет разрешений?