AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi ISAPI und Datenbanken
Thema durchsuchen
Ansicht
Themen-Optionen

ISAPI und Datenbanken

Ein Thema von hsg · begonnen am 26. Okt 2006 · letzter Beitrag vom 27. Okt 2006
Antwort Antwort
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#1

ISAPI und Datenbanken

  Alt 26. Okt 2006, 14:06
Hallöchen zusammen,

ich habe nun endlich erfolgreich meine ISAPI-Dll erstellt.
Darin habe ich ein paar Actions die Werte in einer Datenbank verändern. Auch das funktioniert, so weit ich das zur Zeit beurteilen kann, einwandfrei.

Nun kommt mein Problem bzw. Frage: Wie verhält es sich eine ISAPI-Dll bei mehrfachem gleichzeitigen Zugriff
Bei meinen Test habe ich immer den Server für mich allein, aber später sollen mehrere Personen gleichzeitig auf den Server zugreifen und meine Funktionen intensiv nutzen.

Die Datenbank selber wird zur Zeit beim Laden der DLL instantiert und erst beim Entladen wieder geschlossen. Gerade die Action die die Datenbank verändert, macht mir da nun ein wenig Sorgen: kann es dort zu einem gleichzeitigen Zugriff von mehreren Clients kommen?
Oder sollte ich die Datenbank bei jeder Action öffnen und dann wieder schliessen? Geht da nicht zuviel Performance verloren?

Wer bringt Licht in das Dunkle?

Gruß Jörg
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.127 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: ISAPI und Datenbanken

  Alt 26. Okt 2006, 14:11
Welche Datenbank benutzt Du und welche Komponente?

Wo hast Du die Komponente erzeugt?

Frank
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: ISAPI und Datenbanken

  Alt 26. Okt 2006, 14:17
Hallo Mavarik,

Datenbank ist "Advantage Database Server", Komponente der Datenbankschnittstelle ist TAdsDataSet (Implementierung von TDataSet von ADS direkt), diese liegen in einem Datamodul, welches ich im OnCreate-Ereignis des TWebModule erzeuge und im OnDestroy wieder freigebe.

Gruß Jörg
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.127 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: ISAPI und Datenbanken

  Alt 26. Okt 2006, 14:33
OK Kenne ich leider nicht...

Ich nehme die ADO...

Soviel ich weiss, wird das Datenmodul entsprechend of im Thread geöffnet...

Ich würde aber pro Aufruf:

1. die Connection Aufbauen
2. Datenbank öffnen
3. Aktion Durchführen
4. Datenbank close
5. Connection close

Durchführen...

Frank

PS.: NIX Globales - klar...
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: ISAPI und Datenbanken

  Alt 26. Okt 2006, 14:40
Zitat von Mavarik:
OK Kenne ich leider nicht...

Soviel ich weiss, wird das Datenmodul entsprechend of im Thread geöffnet...

PS.: NIX Globales - klar...
Der Hersteller hiess früher Extended Systems, wurde dann von iAnywhere aufgekauft (ehemalig Sybase).

Die Dll wird ja nur einmal geladen, wird denn für jede Anfrage ein neues WebModul eröffnet? Wenn ja, dann ist mein Problem doch gelöst oder?

Wenn ich nur ein Datenmodul habe, ist es doch quasi global?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.127 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: ISAPI und Datenbanken

  Alt 26. Okt 2006, 15:06
Zitat von hsg:
Die Dll wird ja nur einmal geladen, wird denn für jede Anfrage ein neues WebModul eröffnet? Wenn ja, dann ist mein Problem doch gelöst oder?

Wenn ich nur ein Datenmodul habe, ist es doch quasi global?
Ich meine nicht...

Ein Load vom WebModul, ein Load von Datenmodul... Und pro paralellen Thread ein Webmodul...

Ich habe mir "nur" gemerkt und so mache ich es auch.. wie ich oben geschrieben habe...

Frank
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: ISAPI und Datenbanken

  Alt 27. Okt 2006, 09:06
Zitat von Mavarik:
Ein Load vom WebModul, ein Load von Datenmodul... Und pro paralellen Thread ein Webmodul...

Ich habe mir "nur" gemerkt und so mache ich es auch.. wie ich oben geschrieben habe...

Frank
Sorry, den Satz verstehe ich nicht wirklich... Das WebModul wird nur einmal erzeugt und damit auch das entsprechende DataModul. Was passiert nun genau bei einem Request?

Danke und Gruß Jörg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz