2015-11-19 44 views
1

我在Nodejs中使用Seriate模塊來進行我的Tsql查詢。 現在我被困在使用它來實現批量插入。 Seriate文檔沒有說關於批量插入的任何事情。在Nodejs中使用批量插入查詢與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通過params中傳遞數據的方式是錯誤的。

注意: - 我正在使用sql server。

回答

0

我能夠做一個數組對象的標準插入,使用CSV-parse的組合來從CSV文件中拉出,將CSV /文本文件轉換成數組,然後將其排出,但我是不知道傳統的「批量插入」。

您是否可以使用連續字體進行操作? 'mssql'模塊具有批量插入功能,但我不知道任何人都能夠有效地工作。

+0

這實在是一個評論,而不是一個答案。有了更多的代表,[你將能夠發表評論](// stackoverflow.com/privileges/comment)。 – manetsus