gpt4 book ai didi

sql-server - 乏味的 SQL Server TVP : parameter. value.getTime 不是 datetime 的函数

转载 作者:搜寻专家 更新时间:2023-10-31 23:34:53 28 4
gpt4 key购买 nike

我正在尝试将 TVP 与 tedious 一起使用,但在使用 DateTime 参数时不断出现此错误。

构建请求时的异常是:

 days = Math.floor((parameter.value.getTime() - UTC_EPOCH_DATE.getTime()) /
(1000 * 60 * 60 * 24));
^

异常(exception):

TypeError: parameter.value.getTime is not a function

代码是这样的

/*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 是一个字符串而不是一个对象。

不确定我在这里做错了什么。

我尝试过的

  • 没有 datetime - 有效
  • DateTime2 - 传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议(protocol)流不正确。参数2(""):数据类型0x03未知。
  • https://github.com/patriksimek/node-mssql , 但在内部它再次使用 Tedious

最佳答案

我使用了 Varchar 而不是 DateTime,它解决了我的问题。我知道这不是最好的解决方案,但为了节省时间,我接受了。

关于sql-server - 乏味的 SQL Server TVP : parameter. value.getTime 不是 datetime 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37451918/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com