Ich versuche, TVP mit langweilig zu verwenden und erhalten diesen Fehler bei der Verwendung eines DateTime
Parameters.Mühsame SQL Server TVP: parameter.value.getTime ist keine Funktion für datetime
Die Ausnahme, während die Anfrage Aufbau ist:
days = Math.floor((parameter.value.getTime() - UTC_EPOCH_DATE.getTime())/
(1000 * 60 * 60 * 24));
^
Ausnahme:
TypeError: parameter.value.getTime is not a function
Der Code wie diese für die Datentypen bei der mühsamen Code Suche
/*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
aussieht. js Ich fand, dass die parameter.value
eine Zeichenfolge und kein Objekt war.
Nicht sicher, was mache ich hier falsch.
Was habe ich versucht,
- ohne
datetime
- arbeitet - mit
DateTime2
- die eingehenden tabellarische Datenstrom (TDS) Remote Procedure Call (RPC) Protokollstrom nicht korrekt ist. Parameter 2 (""): Datentyp 0x03 ist unbekannt. - Mit https://github.com/patriksimek/node-mssql, aber intern wieder verwendet Tedious
1. Also nur das erste Bit schlägt fehl? Ich sehe nicht die erste Menge Code im zweiten Bit, also was schauen wir uns an? 2. Verwenden Sie ISO-8601 Datumsformate: "05/08/16 1:30 AM" ist nicht ISO-8601 und ist bestenfalls mehrdeutig, im schlimmsten Fall verursacht es einen Fehler – gbn