面倒な TVP を使用しようとしていますが、DateTime
パラメーターの使用中にこのエラーが発生し続けます。
リクエストの作成中の例外は次のとおりです。
days = Math.floor((parameter.value.getTime() - UTC_EPOCH_DATE.getTime()) /
(1000 * 60 * 60 * 24));
^
例外:
TypeError: parameter.value.getTime は関数ではありません
コードは次のようになります
/*declare table*/``
let table = {
columns: [
{ name: 'a', type: TYPES.VarChar, length: 50, nullable: true },
{ name: 'b', type: TYPES.Int},
{ name: 'c', type: TYPES.DateTime}
],
rows: [
['hello tvp', 777,'05/08/07 12:35 PM'],
['OLO', 45,'05/08/16 1:30 AM']
]
};
/*request code*/
var request = new Request("MyCustomStoredProcedure", function (err, rowCount) {
if (!err) {
callback(err)
logger.info("rowCount", rowCount)
} else {
callback(rowCount)
logger.error("Error => ", err)
}
});
request.addParameter('tvp', TYPES.TVP, table);
request.on('row', function (columns) {
logger.info("data", columns)
});
connection.callProcedure(request);
CREATE TYPE TestType AS TABLE (a VARCHAR(50), b INT, c DateTime);
CREATE PROCEDURE MyCustomStoredProcedure
(@tvp TestType readonly)
AS
SELECT *
FROM @tvp
data-types.js の面倒なコードを見ると、parameter.value
が object ではなく string であることがわかりました。
ここで何が間違っているのかわかりません。
私が試したこと
- なし
datetime
- 作品 - with
DateTime2
- 着信表形式データ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが正しくありません。パラメータ 2 (""): データ型 0x03 は不明です。 - https://github.com/patriksimek/node-mssqlを使用しますが、内部的には再び Tedious を使用します