在Nodejs中使用批量插入查询与Seriate模块

时间:2015-11-19 21:21:28

标签: sql-server node.js node-seriate

我在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。

1 个答案:

答案 0 :(得分:0)

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

您是否能够使用seriate进行工作? 'mssql'模块有一个批量插入功能,但我不知道是否有人能够有效地工作。