Avatar billede dj-dos Nybegynder
11. januar 2001 - 20:56 Der er 10 kommentarer og
5 løsninger

Vigtigheden af at lukke forbindelse til DB

Wolla

Jeg laver en asp-side er har en forbindelse til en DB, den ser såden ud:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"link.mdb\")
SQL = \"SELECT * FROM bruger WHERE navn LIKE \'%\" & session(\"navn\")  & \"%\'\"
Set rs = Conn.Execute(SQL)

Mit sprøgsmål er så hvor vigtigt det er at lukke (close) RS, SQL og Conn?


-----<dj-dos %>
Avatar billede tdaugaard Nybegynder
11. januar 2001 - 20:58 #1
Rimelig vigtigt da dit Recordset bliver gemt i serverens hukommelse indtil du lukker/de-referencerer det
Avatar billede blazer Nybegynder
11. januar 2001 - 20:58 #2
jo..ser du...når den kommer til slutningen af dokumentet lukker den det alligevel...men de linier inden forbliver den jo unødvendigt åben.......og det går ldit ud over serverens recourser.....

+det oxo er sjusker kodning.....
Avatar billede tdaugaard Nybegynder
11. januar 2001 - 21:00 #3
\"+det oxo er sjusker kodning..... \" ikke at bruger det oder was ?
Avatar billede super_g Nybegynder
11. januar 2001 - 22:34 #4
Ja, det tror jeg han mener... Men hvorfor ikke bare proppe de få linier ind, der kræver???

Conn.Close
Set Conn = Nothing
Ser rs = Nothing

Desuden, er det også god skik, at brug Dim først.

Men ja, brug dem, så behøver du jo heller ikke at tænke på det mere.
Avatar billede blazer Nybegynder
12. januar 2001 - 08:10 #5
dim er kun god hvis man oxo bruger option explecit

det increaser speeden lidt!
Avatar billede dj-dos Nybegynder
12. januar 2001 - 08:55 #6
Hvad vil det endelig sige at bruge \"dim\"?


Avatar billede -mystiq- Nybegynder
12. januar 2001 - 09:23 #7
i asp er betyder det ikk noget medmindre man bruger option explecit , der skal man dimme alle variablerså sparer ma på serverens resourcer =)

-MystiQ-
Avatar billede -mystiq- Nybegynder
12. januar 2001 - 09:57 #8
errrm -er i starten om sparer maN på
Avatar billede fox2k Nybegynder
12. januar 2001 - 12:46 #9
Man kan da ikke bruge option explecit uden at dim \'me alle ens variabler! Eller kan man?..
Avatar billede alizweb Nybegynder
12. januar 2001 - 17:50 #10
Dim vil sige at du angiver alle dine objekter!

Fx.

ObjConn
StrName
RS

Og alt sådan noget lort!
Jeg bruger det dog aldrig, men det kunne være jeg skulle begynde på det?

Ex. på en dim (Placeres i toppen af din side koder)

Dim ObjRS, ObjConn, StrName

Eller hvad du nu vil have!
Avatar billede alizweb Nybegynder
12. januar 2001 - 17:55 #11
VopZ Glemte lige noget :)

JEG lukker altid mine DB\'er af.
Og det vil jeg også råde jer andre til, det tager MEGET på server resurcerne, hvilket altså også betyder at det går langsommere at lukke din
side(r) op, og det kommer til at gå langsommere for andre.(hvis altså du bruger en gratis server)

I dit ex. i toppen skal du lukke af på denne måde:

<%
Conn.Close
Set Conn = Nothing
%>

(Jeg mener ikke du skal lukke \"RS\" ned, fordi du entlig ikke opretter det som et opjekt. Eller hvad?)

Håber du kan bruge mine råd.
Mvh. Rasmus
Avatar billede super_g Nybegynder
12. januar 2001 - 20:47 #12
Jo, RS skal også gøres gøres fri igen... (Det burde man da i hvert fald gøre)

Set RS = Nothing
Avatar billede alizweb Nybegynder
13. januar 2001 - 18:33 #13
Okay!
Takker
Men skal den kun frigøres(Set RS = Nothing) eller skal den også lukkes? (Rs.Close)
Avatar billede fox2k Nybegynder
15. januar 2001 - 09:22 #14
Ja, det vil jeg også sige, alizweb. Tager RS ikke stadig på system resourcerne hvis man ikke har brugt rs.close? På den anden måde (Set RS = Nothing), fjerner man da bare variablen RS, ikke?
Avatar billede super_g Nybegynder
15. januar 2001 - 18:55 #15
Ok.. Hvis du skal lukke hele lortet ned:

Conn.Close
Set Conn = Nothing
Set RS = Nothing

RS har ikke funktionen .close
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
Kategori
Kurser inden for grundlæggende programmering

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