Hirdetés
- Xiaomi 15T Pro - a téma nincs lezárva
- Okosóra és okoskiegészítő topik
- Xiaomi 14 - párátlanul jó lehetne
- Poco F8 Ultra – forrónaci
- One mobilszolgáltatások
- Apple iPhone 17 Pro Max – fennsík
- Milyen okostelefont vegyek?
- Fele annyit ér az iPhone Air, mint amennyibe pár hete került
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- Xiaomi 15 - kicsi telefon nagy energiával
Új hozzászólás Aktív témák
-
joysefke
veterán
válasz
leslie23
#9798
üzenetére
Alternatív megoldásként felmerült, hogy a parallel végrehajtásnál csak egy DataSetben tárolnám a lekérdezések eredményeit, majd ezt követően egy külön műveletben sorosan generálnám le az Excel-riportokat.
Igen, érdemes kódban is elkülöníteni az egymástól nagyon különböző feladatok megvalósítását. Ezzel a hibák kezelését könnyíteni tudod.
Fogod a Parallel.Forech-edet és ahelyett hogy az abban levő kód (delegate) csinálja a az SQL lekérdezést ÉS az Excel interop hívását:
A Parallel.Foreach csinálja csak
-1. az SQL lekérdezést /ahogyan eddig/, az adatok esetleges modellekbe való transzformálását,
-2. majd az eredmények összefésülését. <= ennek thread safnek kell lennie.A 2.-höz használhatsz BlockingCollection<T>-t ami thread safe. A ForEach által futtatott kód az SQL lekérdezés eredményét kiszedi a readerből, opcionálisan áttranszformálja valami modellbe (ez a "T") majd ezt beszúrja a BlockingCollection<T>-be.
A Parallel.Foreach futása után egyetlen szálon végigiterálsz a A BlockingCollection-ön és feldolgozod a kinyert és összefésült adatokat => meghívod egyenként az Excel interopodat minden egyes adatelemre.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Eredeti játékok OFF topik
- Androidos tablet topic
- Autós topik
- Milyen okostelefont vegyek? OFF topik
- Autós topik látogatók beszélgetős, offolós topikja
- Rémisztő árakkal szembesülnek a notebookgyártók az új mobil platformoknál
- Linux kezdőknek
- Kínai és egyéb olcsó órák topikja
- Tudományos Pandémia Klub
- One otthoni szolgáltatások (TV, internet, telefon)
- További aktív témák...
- HP Pavilion 15-eg2002nh - 15.6" FullHD IPS - i5-1235U - 16GB - Win11 - 512GB SSD - Garancia - MAGYAR
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
- DJI Osmo Pocket 3
- 134 - Lenovo Legion Pro 7 (16IRX8H) - Intel Core i9-13900HX, RTX 4090 - 3 év garancia
- BESZÁMÍTÁS! Logitech G920 Driving Force Racing kormányszett
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


