Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Connection pool

Postades av 2004-03-30 21:09:58 - johan agorelius, i forum databaser, Tråden har 3 Kommentarer och lästs av 788 personer

Hur gör man en connection pool med connections som delas.
(någon som har ett exempel)
Då man vill ha databasinformation till sin hemsida.
Har hört att detta skall vara det bästa om man vill klara flera samtidiga besökare!


Svara

Sv: Connection pool

Postades av 2004-03-30 21:56:55 - Raderat konto

Jag har uppfattadet som att ADO automatisk har en connection pool. Du använder dig av denna genom att öppna din anslutning med en identisk connectionstring.

Hur connection pool i ado fungerar kan kort beskrivas som följande:
* Du öppnar en connection
+ ADO kontrollerar om det finns en connection i connection pool'en med identisk connectionstring
Om det finns det:
Hämtas denna från connection pool'en och tas sammtidigt bort från connection pool'en
Om inte:
Skapas en ny connection
(* Du gör databas anrop genom din connection)
* Du stänger din anslutning genom ADO
+ Din anslutning stängs inte internt i ADO utan läggs i connection pool'en där den frigörs efter en viss angiven tid

Det är därför viktigt att du använder dig av ett connection objekt när du arbetar mot ADO objekt. T.ex. Recordset:
<code>
Dim rs1
Dim rs2
Dim con

Dim strConnectionString

strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Medlem.mdb") & ";" & _
"Persist Security Info=False"

Set con = CreateObject("ADODB.Connection")
con.Open strConnectionString

Set rs1 = con.Execute("SELECT tblOrders.* FROM tblOrders")
Set rs2 = CreateObject("ADODB.Recordset")

Do Until rs1.EOF
'Write order row

rs2.Open "SELECT tblOrderItems.* FROM tblOrderItems WHERE tblOrderItems.OrderItemOrder = " & rs1("OrderId"), con
Do Until rs2.EOF
'Write orderitem row
rs2.MoveNext
Loop

rs2.Close

rs1.MoveNext
Loop
Set rs2 = Nothing

rs1.Close
Set rs1= Nothing

con.Close
Set con = Nothing

</code>
INTE gör på följande sätt:
<code>
Dim rs1
Dim rs2

Dim strConnectionString

strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Medlem.mdb") & ";" & _
"Persist Security Info=False"

Set rs1 = CreateObject("ADODB.Recordset")
rs1.Open "SELECT tblOrders.* FROM tblOrders", strConnectionString

Set rs2 = CreateObject("ADODB.Recordset")

Do Until rs1.EOF
'Write order row

rs2.Open "SELECT tblOrderItems.* FROM tblOrderItems WHERE tblOrderItems.OrderItemOrder = " & rs1("OrderId"), strConnectionString
Do Until rs2.EOF
'Write orderitem row
rs2.MoveNext
Loop

rs2.Close

rs1.MoveNext
Loop
Set rs2 = Nothing

rs1.Close
Set rs1= Nothing
</code>
Koden kan se ut att fungera likadant. men vad som sker är att recordseten internt skapar ett connection objekt av värdet från connectionstring. Sidan använder alltså två anslutningar istället för en. Om det är en asp sidan som kommer 10 samtida anrop öppna 20 anslutningar. Vilket är onödigt slöseri med resurser.


Svara

Sv: Connection pool

Postades av 2004-03-30 21:57:13 - Andreas Hillqvist

Jag har uppfattadet som att ADO automatisk har en connection pool. Du använder dig av denna genom att öppna din anslutning med en identisk connectionstring.

Hur connection pool i ado fungerar kan kort beskrivas som följande:
* Du öppnar en connection
+ ADO kontrollerar om det finns en connection i connection pool'en med identisk connectionstring
Om det finns det:
Hämtas denna från connection pool'en och tas sammtidigt bort från connection pool'en
Om inte:
Skapas en ny connection
(* Du gör databas anrop genom din connection)
* Du stänger din anslutning genom ADO
+ Din anslutning stängs inte internt i ADO utan läggs i connection pool'en där den frigörs efter en viss angiven tid

Det är därför viktigt att du använder dig av ett connection objekt när du arbetar mot ADO objekt. T.ex. Recordset:
<code>
Dim rs1
Dim rs2
Dim con

Dim strConnectionString

strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Medlem.mdb") & ";" & _
"Persist Security Info=False"

Set con = CreateObject("ADODB.Connection")
con.Open strConnectionString

Set rs1 = con.Execute("SELECT tblOrders.* FROM tblOrders")
Set rs2 = CreateObject("ADODB.Recordset")

Do Until rs1.EOF
'Write order row

rs2.Open "SELECT tblOrderItems.* FROM tblOrderItems WHERE tblOrderItems.OrderItemOrder = " & rs1("OrderId"), con
Do Until rs2.EOF
'Write orderitem row
rs2.MoveNext
Loop

rs2.Close

rs1.MoveNext
Loop
Set rs2 = Nothing

rs1.Close
Set rs1= Nothing

con.Close
Set con = Nothing

</code>
INTE gör på följande sätt:
<code>
Dim rs1
Dim rs2

Dim strConnectionString

strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("Medlem.mdb") & ";" & _
"Persist Security Info=False"

Set rs1 = CreateObject("ADODB.Recordset")
rs1.Open "SELECT tblOrders.* FROM tblOrders", strConnectionString

Set rs2 = CreateObject("ADODB.Recordset")

Do Until rs1.EOF
'Write order row

rs2.Open "SELECT tblOrderItems.* FROM tblOrderItems WHERE tblOrderItems.OrderItemOrder = " & rs1("OrderId"), strConnectionString
Do Until rs2.EOF
'Write orderitem row
rs2.MoveNext
Loop

rs2.Close

rs1.MoveNext
Loop
Set rs2 = Nothing

rs1.Close
Set rs1= Nothing
</code>
Koden kan se ut att fungera likadant. men vad som sker är att recordseten internt skapar ett connection objekt av värdet från connectionstring. Sidan använder alltså två anslutningar istället för en. Om det är en asp sidan som kommer 10 samtida anrop öppna 20 anslutningar. Vilket är onödigt slöseri med resurser.


Svara

Sv: Connection pool

Postades av 2004-03-31 09:52:41 - johan agorelius

TACK!
vad betyder

"Persist Security Info=False"


Svara

Nyligen

  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 973
27 965
271 783
3 493
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies