我有一个使用express和Tedious的 Web Api在 Azure SQL 数据库上存储一些数据。使用nvarchar
类型和int
类型它工作得很好,但是当我尝试保存DateTime
值时,我收到一条错误消息:
Insert into Proxy (Ip, RequisitionDate)
values ('1', '2016-05-18 3:32:21' )
错误:
RequestError:参数“RequisitionDate”的验证失败。日期无效。] 消息:“参数 \'RequisitionDate\' 的验证失败。” 无效日期。',代码:'EPARAM' }
嗯,有趣的是
Insert into Proxy (Ip, RequisitionDate)
values ('1', '2016-05-18 3:32:21')
是我在 node.js api 中执行的查询:
var query = "Insert into Proxy (Ip,RequisitionDate) values ( '"+ ip + "', '"+ date + "' )";
console.log(query); // Insert into Proxy (Ip,RequisitionDate) values ( '1', '2016-05-18 3:32:21' )
request = new Request(query, function(err) {
if (err) {
console.log(err);}
});
request.addParameter('Ip', TYPES.NVarChar,'SQL Server Express 2014');
request.addParameter('RequisitionDate', TYPES.DateTime , 'SQLEXPRESS2014');
connection.execSql(request);
}
如果我直接在 SqlManager Studio 上执行查询,它工作正常。