Avatar billede loukas Mester
04. maj 2021 - 10:25 Der er 3 kommentarer og
2 løsninger

connection is already Open

Sub ThreadTask()
        Do Until StopThread = True
            Invoke(New MethodInvoker(AddressOf SpiderGo2))
            Thread.Sleep(100)
        Loop
    End Sub

Jeg får fejlen: The connection is already Open

Kan jeg ikke lave en kontrol om en connection er open
Avatar billede arne_v Ekspert
04. maj 2021 - 14:26 #1
Det er jo svært at sige noget om da der ikke er noget med connection i din stump kode du viser.

Men mange connection klasser har en IsOpen metode.
Avatar billede arne_v Ekspert
04. maj 2021 - 14:27 #2
Men er du sikker på at din connection kan bruges samtidigt af flere tråde?
Avatar billede loukas Mester
02. juni 2021 - 04:10 #3
Hej
Tak interessen
Nej jeg har haft 2 connections kørende,
men har omskrevet en større del af koden for at undgå at åbne og lukke for mange gange til DB
Sådan er det nogle gange at være selvlært,
så må jeg gå tilbage slette og flytte om ;-)
Avatar billede arne_v Ekspert
02. juni 2021 - 14:35 #4
Hvis det er en standard database connection til en af de gængse databaser, så kan det ikke betale sig at lave noget avanceret for at undgå hyppige open og close.

Open når du skal bruge en connection og close når du er færdig med en operation.

De gængse ADO.NET providere bruger nemlig connection pool. D.v.s. at der laves et antal N fysiske forbindelser til databasen ved opstart og Open markerer en ledig som værende i brug og Close markerer den som ledig igen. Så Open og Close laver næsten ingenting.
Avatar billede loukas Mester
23. september 2021 - 15:45 #5
OK,
tak for info ;-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester