1

我在 Nodejs 中使用 Seriate 模块进行 Tsql 查询。现在我被困在用它实现批量插入。Seriate 文档没有说任何关于批量插入的内容。

https://github.com/LeanKit-Labs/seriate

我正在尝试不同的事情来做到这一点。如果有可能,请提供帮助。

  var accountArray=[];
    accounts.forEach(function(account){
        accountArray.push(
       [account['@url'],
       account['Active'],
       account['Description'],
       account['Number'],
       account['SRU'],
       account['Year']])
    });

    var sqlFile ='./sql/account.bulkInsert.sql';

    sql.execute({
        query: sql.fromFile(sqlFile),
        params:{accountArray:accountArray}


    }).then(function (result) {
            console.log("SUCCESS")
            logger.stream.write((isTemp ? '(temp) ' : '') +
                  'account.bulkInsert resolved.');
            resolve(result);
        })
        .catch(function (err) {
            console.log("Error")
            console.log(err)
            logger.stream.write((isTemp ? '(temp) ' : '') +
                 'account.bulkInsert  rejected.');
            reject(err);
        });

我的“./sql/account.bulkInsert.sql”文件包含这个

BULK INSERT INTO [dbo].[Account] (
      [@url]
    , [active]
    , [Description]
    , [Number]
    , [SRU]
    , [Year]
    )
VALUES ?;

是否有可能我的查询是错误的,或者我通过 Seriate 在参数中传递数据的方式是错误的。

注意:-我使用的是 sql server。

4

1 回答 1

0

我能够从数组对象执行标准插入,使用 CSV-parse 的组合从 CSV 文件中提取,将 CSV/文本文件转换为数组,然后将其输出,但我不知道传统的“批量插入”。

你能用连环画来完成这项工作吗?'mssql' 模块具有批量插入功能,但我不知道有人能够有效地使其工作。

于 2016-06-14T18:21:41.317 回答