- Google Pixel topik
- Amazfit Active 2 NFC - jó kör
- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S25 - végre van kicsi!
- A Motorolának is a Bose hangol
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- One mobilszolgáltatások
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Újabb hét, újabb Galaxy S26 képek
Új hozzászólás Aktív témák
-
leslie23
tag
Sziasztok!
Segítséget, vagy magyarázatot szeretnék kérni tőletek a következő probléma kapcsán, StackOverflow relevánsnak tűnő kérdéseit már átnyálaztam, de nem találtam számomra választ. Van egy WinForms alkalmazás, amivel SQL queryket szeretnék végrehajtani (kb. 70-80 darabot, egyenként 5-15 másodperc az execution time) a lekérdezések eredményeit pedig Excel-állományokba menteni. Nem parallel async végrehajtás működik, viszont kicsit tempósítandó a dolgokat átírtam Parallel.Foreach segítségével, a szimultán szálakat 15 darabban maximalizálom. Az SqlConnection using blokkban van, ennek ellenére az alábbi hibaüzenetet kapom: "The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."
Ha a connection stringbe belefoglalom a Connection Timeout = 0 paramétert, akkor megintcsak lefut szépen a cucc. Próbáltam szintén a connection stringben állítani a Max Pool Size-et de nem volt hatása. Sajnos nem értem, hogy pontosan mi történik, ha jól értem a using végén a kapcsolat zárásra kerül és bekerül a connection poolba. Viszont ezután miért történik timeout, mikor a következő szálon ismét szükség lenne a connectionre?
Illetve ha Timeout van, miért nem tud új kapcsolatot létrehozni?Köszönöm, ha valaki rá tud világítani mi itt a kulcs.
És egyből egy másik kérdésem is lenne; a Excelt az Interop liben keresztül kezelem. Neten azt találtam, hogy maga a COM Interop nem thread safe, feltételezem ez az oka annak, hogy parallel futásnál időnként COM error, application busy üzenetet kapok (5 futásból egyszer). 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. A kérdésem, hogy mennyire célszerű nagy mennyiségű adatot (pl. 80 query, egyenként 30-40 mező és 10-12 ezer rekord) memóriában tárolni míg elér a folyamat az Exceles lépésig?
Vagy mi lehet itt best practice szerintetek?
Ú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!
- Apple iPad Air 2 128GB, Wi-fi, 1 Év Garanciával
- HP ProBook 650 G2 6.Gen i3 as HP Notebook! Core i3 6100U / 8GB DDR4 / Intel HD / 128GB M.2 /JÓ AKKU!
- Ryzen 5 Gamer! Ryzen 5 5600G / 16GB DDR4 / Nvidia RTX 3050 8GB OC / 500GB SSD+HDD / 500W / RGB LED!!
- Asus ROG Flow Z13 2in1 13.4" FHD+ IPS érintő i9-12900H RTX 3050Ti 16GB 512GB ujjlolv IR kam gar
- X1 Yoga 6th 14" FHD+ IPS érintő i7-1185G7 32GB 512GB NVMe ujjlolv IR kam aktív toll gar
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- Telenor 5G Indoor WiFi Router (FA7550) + töltő (utolsó DARAB!)
- Apple iPhone 15 128 GB Pink 1 év Garancia Beszámítás Házhozszállítás
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- Eredeti DELL 330W töltők (ADP-330AB D)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Illetve ha Timeout van, miért nem tud új kapcsolatot létrehozni?
Vagy mi lehet itt best practice szerintetek?

