24. februar 2011 - 07:18Der er
4 kommentarer og 1 løsning
ADOConnection i forbindelse med tråde
Jeg har en opdateringsrutine der skal flyttes ud i tråde. Jeg regner med at lade hver tråd plukke en opgave fra en TThreadList, den del er der ikke noget odiøst i. Det interessante er om jeg skal lave en en ADOConnection for hver tråd. Transaktioner kører jo på sessionsniveau (medmindre jeg laver "named transactions"), så min teori er, at for at udnytte serveren bedst muligt bør jeg lave en ADOConnection for hver tråd. Jeg efterlyser kommentarer?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg ved ikke helt hvad du snakker om (named transactions) men jeg tror jeg gør noget i stil med det du vil. Jeg har en IdTCPServer (Indy) kørende, og hver gang en klient logger på denne server oprettes der en ADOconnection i en ny tråd til en MySQL server og det virker egentlig fint, det har kørt i et par år nu uden store problemer. En sjælden gang i mellem svigter ADOconnection oprettelsen dog og jeg får en "Katastrofal fejl", men jeg har så lavet det sådan at klienterne forsøger 2-3 gange i tilfælde af fejl.
kroning: Jeg vil gøre netop det samme. Normalt har jeg i programmet kun én ADOConnection men er (mindre og mindre) i tvivl om jeg behøvede oprette en ny for hver tråd.
En named transaction i ADO mod SQLserver gør, at man kan have nested transactions, eller parallelle - ADOConnections egen er ikke en sådan og måden er at fyre kommandoen afsted med Execute(' .. ')
Nu bruger jeg (stadig) Delphi 7 og den medfølgende ADOConnection, om den måske er blevet thread safe i senere Delphi versioner ved jeg ikke.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.