fredy: Access und viele Zugriffe via ASP

Hi!

Wie verhält sich Access wenn viele Leute (übers Internet) in die selbe DB schreiben?

Wird für jeden (einzelnen) Zugriff am Server eine Verbindung zur DB aufgebaut, oder wird nur für jede DB eine Verbindung aufgebaut?

Gibt es eine Stellungname von Microsoft zu diesem Thema?

Grüße
  fredy

  1. Hi!

    Wie verhält sich Access wenn viele Leute (übers Internet) in die selbe DB schreiben?

    Wird für jeden (einzelnen) Zugriff am Server eine Verbindung zur DB aufgebaut, oder wird nur für jede DB eine Verbindung aufgebaut?

    Gibt es eine Stellungname von Microsoft zu diesem Thema?

    Grüße
      fredy

    Hallo,

    die Anzahl der Verbindungen hängt von deiner Programmierung ab.
    Du kannst z.B. folgende 3 Szenarien benutzen:

    Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.Open DSN,User,PWD
    ---> Öffnet jeweils eine Verbindung (bester Weg)

    If Not IsObject(Session("objConn")) Then
        Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Open DSN,User,PWD

    Set Session("objConn") = objConn
    End if
    ---> Öffnet nur beim ersten Zugriff einer Session ein Objekt (schlecht, da sich die Datenbank nicht kontrolliert schließen läßt, da Du keinen Zugriff auf die Session-Variable hast, außer es wäre Deine eigene Session). Außerdem kannst Du die Datenbank nicht ohne weiteres updaten (physisch ersetzen), da sie für die gesamte Session geöffnet bleibt.

    If Not IsObject(Application("objConn")) Then
        Set objConn = Server.CreateObject("ADODB.Connection")
            objConn.Open DSN,User,PWD

    Set Application("objConn") = objConn
    End if
    ---> Es wird lediglich eine Verbindung aufgebaut, die von allen Usern und Session benutzt werden kann. Allerdings ist Access darüber nicht besonders erfreut und die Datenbank ist ziemlich schnell hin (frag nicht wieso, Erfahrungswerte).

    Im Moment verwende ich in verschiedenen Projekten Access-Datenbanken. Diese werden alle über den ersten Weg geöffnet. Hierbei hat man die beste Kontrolle über die Zugriffe. Probleme sind bisher keine aufgetreten. Das Problem, das Du wahrscheinlich siehst, ist die max. Anzahl gleichzeitiger Verbindungen in Access. Aber da beim ersten Beispiel die Verbindungen sofort wieder geschlossen werden und die Zugriffseiten sich im Bereich < 1 Sek. bewegen, ist die Gefahr, daß die max. Anzahl überschritten wird gleich Null. Es sei denn, du hast 1000 User, die alle gleichzeitig was wollen (in derselben Sekunde).

    Tschau, Stefan

    1. Hi Stefan!

      Ich hab' irgendwo gelesen, daß es Probleme geben kann, wenn gleichzeitig mehr als 10 Verbindungen zu einer AccessDB aufgebaut sind die in die DB schreiben.

      Ist da was wares d'ran?

      Grüße
      fredy

      1. Hi Stefan!

        Ich hab' irgendwo gelesen, daß es Probleme geben kann, wenn gleichzeitig mehr als 10 Verbindungen zu einer AccessDB aufgebaut sind die in die DB schreiben.

        Ist da was wares d'ran?

        Grüße
        fredy

        Hallo,

        bei Access 95/97 stimmt das, bei Access 2000 dürfen es auch ein paar mehr sein (ca. 25).
        Allerdings bedeutet gleichzeitig schreiben wirklich in der selben Millisekunde. Wir haben Websites mit ca. 350.000 Impressions im Monat (alle Seiten mit DB-Connection), die ohne Probleme laufen (trotz Statistik).
        Von daher würde ich mir darüber keine Gedanken machen.

        Tschau, Stefan