У меня есть очень простая программа node.js. Программа добавляет запись в базу данных SQL Server. Я пытаюсь закодировать это как синхронную операцию.
Возвращает ошибку:
Свойство "config.server" является обязательным и должно иметь тип string.
Однако свойство существует и является строкой.
Кто-нибудь знает, почему это так?
var AWS = require('aws-sdk');
const sql_server = require('mssql');
exports.handler = (event, context, callback) => {
console.log('Received event:', event);
var DB_status;
DB_status=Add_to_DB(event);
if (DB_status=="OK") {
var response = {
"isBase64Encoded": false,
"headers": { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' },
"statusCode": 200,
"body": "{\"result\": \"Success.\"}"
};
}
else {
var response = {
"isBase64Encoded": false,
"headers": { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' },
"statusCode": 200,
"body": "{\"result\": \"Database Error - " + DB_status + ".\"}"
};
};
callback(null,response);
}
async function Add_to_DB (event) {
let DB_status="OK";
const config = {
user: 'sa',
password: 'sapassword',
database: 'serverless-example',
server: 'serverless-example.cilqefqosmtc.ap-southeast-2.rds.amazonaws.com'
};
var sql = 'INSERT INTO UserTbl(Name,Email,Message)';
sql = sql + ' VALUES(\"' + event.name + '\",\"' + event.email + '\",\"' + event.message + '\")';
try {
let dbConn = await sql_server.connect();
let request = new sql_server.Request(dbConn);
await request.query(sql);
}
catch (err) {
// Error running our SQL Query
console.error("ERROR: Exception thrown running SQL", err);
DB_status=err;
}
return DB_status;
}