ExpressとTediousを使用して Azure SQL データベースにデータを格納する Web API があります。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 でクエリを直接実行すると、問題なく動作します。