02. februar 2012 - 10:30Der er
4 kommentarer og 1 løsning
databaseforbindelse - åben eller lukket?
Jeg benytter nedenstående funktion til at åbne/lukke min database (virker fint).
Jeg vil gerne ændre det, så connectSql2 forbliver åbent så længe programmet kører - og ved application.exit kontrolleres så for om der er en forbindelse der evt. lukkes. Hvordan gør man det (er klar over jeg bare kan åbne forbindelsen i 'main', men hvordan bruger jeg den på tværs af mange windows forms?
Min nuværende funktion: Public Function openCloseSql2(ByVal openClose As Boolean, ByVal server As String, ByVal database As String) As Boolean
If (openClose = True) Then connectSql2 = New ADODB.Connection
Som udgangspunkt er det en rigtig dårlig idé at holde en connection åben i så lang tid - det gælder om at åbne den, benytte den og lukke så hurtigt som muligt.
Hvorfor mener du at det vil gavne at holde den åben over hele programmets levetid?
eksempel: Sub: Jeg laver en import af data, jeg starter med at åbne db og indlæser 100.000 linjer fra en tekstfil. - men inde i min sub, kalder jeg så en en anden sub/funktion, hvor jeg skal slå nogle ting op - nu er jeg så nødt til at åbne connection igen+lukke (hver gang denne sub/funktion kaldes).
Det var egentlig ovenstående jeg gerne ville løse - så det pr. kørsel/kald kun blev til en åbning og luk af databasen
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.