【发布时间】:2020-07-18 06:18:54
【问题描述】:
我想使用 Node.js 将 unix 时间戳(包含在收到的 Json 正文中)作为人类可读的时间导入我的 MSSQL 数据库。因此,我直接在插入查询中转换了请求对象。我在 SQL Server 中设置了数据类型“datetime”。
Json 主体如下所示:
{
"device":"887B53",
"data":"4660000000000062b4a8",
"station":"1B2C",
"rssi":"-123",
"time":"1586096200"
}
我使用 hapi 服务器进行路由:
server.route({
method: 'POST',
path: '/',
handler: async (request, h) => {
try {
const datetime = DATEADD(ss, request.payload.time, '19700101');
await pool.query("INSERT INTO mytable(timestamp)VALUES('"+datetime+"')");
return h.response('Callback received').code(200);
}
catch (err) {
console.log("SQL Err", err.stack);
return 'Error';
}
}
});
起初它完全按照我的预期工作。但比我搞砸了一些东西,它不再起作用了。我完全不知道发生了什么,也找不到问题。
抛出此错误:
在 Request._lifecycle (C:\Users\AW\sqltest\node_modules@hapi\hapi\lib\request.js:365:68)
在 processTicksAndRejections (internal/process/task_queues.js:94:5)
在异步 Request._execute (C:\Users\AW\sqltest\node_modules@hapi\hapi\lib\request.js:274:9)
【问题讨论】:
标签: node.js sql-server tsql datetime sql-insert