14. december 2006 - 10:04Der er
4 kommentarer og 1 løsning
update der timer out
Jeg har en update på en række der skal opdatere to felter. Problemet er bare at enterprise-manageren tilsyneladende går i løkke på update-sætningen -- den tager i hvert fald meget meget længe om det så jeg afbryder den hver gang.
Det er også mærkeligt at på en tidligere udgave af databasen (lidt færre rækker i tabellerne) gik updatesætningen ikke i stå.
Mit spørgsmål er nu om en tabel eller en række kan være i en låst tilstand (der er nemlig andre end mig der bruger database, men kun til udtræk). Og hvis det er tilfældet hvordan får man så tabeller/rækkerne til ikke længere at være låst ?
Normalt vil du kunne se om der er en Lock timeout ved at bruge følgende:
SELECT @@LOCK_TIMEOUT AS [Lock Timeout]; GO
Hvis den returnere -1 så vil den vente indtil at en blokerende aktivitet er stoppet. Returnerer den andet end -1, så vil det være tiden i milisekunder som den venter før den laver en timeout.
Jeg have en select-sætning med flere joins. Den løb jeg igennem i en while-sætning hvori jeg indimellem lavede en update på en af de tabeller der indgik i den første select-sætning. Når databasen får en vis størrelse kan dette åbentbart betyde at select-sætningen kan låse den række som jeg tilfældigvis gerne vil lave en update på.
Nu går jeg over til at hente resultatet over i en arraylist førend jeg gennemløber den -- så skulle jeg vist være ude over at komme til at låsen for mig selv
Håber ikke det gør noget at jeg tager poinene tilbage
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.