Я использую Express.js и msnodesqlv8 для запуска оператора.
Полученная ошибка имеет правильные элементы, которые должны быть переданы контроллеру, но не распространяется там должным образом для части Ошибка .
Возвращается следующая ошибка:
{ Ошибка : [Microsoft] [Собственный клиент SQL Server 11.0] [SQL Server] Оператор INSERT конфликтует сПРОВЕРЬТЕ ограничение "MyConstraint".Конфликт произошел в базе данных «Mydatabase», таблица «dbo.MyTable».sqlstate: '23000', код: 547}
Но ошибка, возвращенная контроллеру с кодом состояния 500, не используется должным образом и Я могу получить доступ только к sqlstate и коду .Это потому, что сообщение об ошибке от SQL Server не отформатировано правильно для анализа?
Как получить часть сообщения Error ?
var sql = require('msnodesqlv8');
app.get('/myroute/*', function (req, res) {
var queryData = url.parse(req.url, true).query;
var param1= queryData.param1;
res.header("Access-Control-Allow-Origin", allowOriginUrl)
let txtFile = "myFile.sql"
let query = fs.readFileSync(txtFile,'utf8');
query = query.replace('?param1',param1)
sql.query(regroupement_conn, query, (err, rows) => {
if(err)
{
//throw err;
console.log(err)
result = res.status(500).send({
message : err
})
}
else
{
result = res.send(rows);
}
});
})
Я получаю сообщение об ошибке, как это происходит от моего контроллера
return this.http.get<any>(`${environment.apiUrl}/myroute/` ,{params}).pipe(
catchError((err) => {
throw err;
})
)