如何繁琐地实现大型流式BulkLoad

时间:2019-06-13 19:01:15

标签: javascript tedious

我正在尝试实现一种Azure函数,该函数会将大量数据提取到SQL数据库中。

通过大量的内容,我试图实现乏味的批量流式传输,但我无法使其正常工作,甚至无法在所有Internet上找到任何实现示例。

我通常可以在添加行的情况下使它工作,但是由于体积很大,我不得不使大容量流工作。

...

const bulkLoad = connection.newBulkLoad('dbo.Adjustments', options, function (error, rowCount) {
     if(error){
            context.log('bulkloadError=>', error);
        }
    context.log('inserted %d rows', rowCount);
});

bulkLoad.addColumn('XPTO', TYPES.VarChar, { length: 11, nullable: false });
bulkLoad.addColumn('XPTY', TYPES.NVarChar, { length: 7, nullable: true });

const rowStream = bulkLoad.getRowStream();

//geting csv records to streaming to the table        
csv()
.fromString(myBlob.toString())
.subscribe(function(jsonObj) { //single json object will be emitted for each csv line
    return new Promise(function(resolve, reject) {
        resolve()
        rowStream.write({
            XPTO: jsonObj.XPTO, XPTY: jsonObj.XPTY},"utf-8", function(){
            context.log('Writed data.');
        });
    })
}, function (eror){ context.log('erro subscribe-> ', error) },function(){});

connection.execBulkLoad(bulkLoad);
rowSource.pipe(rowStream);

...

我在做什么错?请帮助我。

0 个答案:

没有答案