2015-11-19 4 views
1

Я использую модуль Seriate в Nodejs для создания моих запросов Tsql. Теперь я застрял в реализации массовой вставки с ним. Документация по серийному номеру не может ничего сказать о массовой вставке.Используйте запрос Bulk Insert с Seriate Module в Nodejs

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 ?; 

ли это возможно, что мой запрос является неправильным или моим способом передачи данных в Params через Сериат неправильно.

Примечание: - Я использую сервер sql.

ответ

0

Я смог выполнить стандартную вставку из объекта массива, используя комбинацию CSV-синтаксического анализа, чтобы извлечь из CSV-файла, преобразуя CSV/текстовый файл в массив, а затем выталкивая его, но я не осознавая традиционную «массовую вставку».

Вы могли сделать эту работу с seriate? Модуль «mssql» имеет функцию объемной вставки, но я не знаю, кто может эффективно работать.

+0

Это действительно комментарий, а не ответ. С немного больше rep, [вы сможете оставлять комментарии] (// stackoverflow.com/privileges/comment). – manetsus