我在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。
答案 0 :(得分:0)
我能够从数组对象执行标准插入,使用CSV-parse的组合从CSV文件中提取,将CSV /文本文件转换为数组,然后将其输出,但我不是意识到传统的“大量插入”。
您是否能够使用seriate进行工作? 'mssql'模块有一个批量插入功能,但我不知道是否有人能够有效地工作。