Entwickler-Ecke
Datenbanken - Grenzwert für DB überschritten...
opfer.der.genauigkeit - Di 10.12.02 10:55
Titel: Grenzwert für DB überschritten...
Ich habe ein MDI Formular, in dem ich Childs erzeuge.
Jedes dieser Childs hat zugriff auf die Datenbank. Ich kann ca. 10 Childs erzeugen ohne Fehler, alles läuft reibungslos. Sobald aber eines mehr geöffnet wird, kommt mir die Meldung
"....Grenzwert für Anzahl der Verbindungen zum Datenbankserver überschritten..."
Wie kann ich das umgehen?
P.S.: Ich nutze Sybase
LCS - Di 10.12.02 11:47
Hi
eigentlich kannst du das gar nicht umgehen. Bei einem DB-Server hast du in der Regel eine bestimmt Anzahl von Client-Lizenzen und jeder dieser Clients kann eine bestimmte Anzahl von Verbindungen zum Server aufbauen. Wenn entweder die Anzahl der Clients oder die Anzahl der Connections pro Client überschritten ist, geht nix mehr.
Um das zu verhindern, musst du dein Programm so umstricken, dass die Childfenster alle dieselbe DB-Verbindung, die zentral in einem Datenmodul abgelegt ist, verwenden.
Gruss Lothar
opfer.der.genauigkeit - Di 10.12.02 16:58
Über eine DB- Anbindung... könnte man probieren.
Thx.
UGrohne - Di 10.12.02 18:00
Ist eh geschickter, denn ich nehme an, das ganze braucht n haufen speicher, isn haufen code und unübersichtlich *g*
Gruß
LCS - Di 10.12.02 18:04
Und es ist auch ne Frage der Performance. Gerade der Aufbau der Verbindung zum Server dauert relativ lang. Wenn der nur einmal stattfindet, läufts einfach geschmeidiger.
Gruss Lothar
UGrohne - Di 10.12.02 20:38
Vollkommene Zustimmung. Wo wir grad beim Thema sind, es dauert ewig, wenn man zu Interbase übers Internet ne Verbindung aufbaut und wenn man schlampert (so wie ich bei meiner Software) dann hat man ne Menge Übertragungen (war ja auch bisher für Einzelplatzrechner konzipiert *g*).
Wie kann man diese Übertragungen am besten so klein wie möglich halten, gibts da ein Patentrezept? Ich weiß, gehört eigentlich in nen neuen Thread, aber es is nur so interessenhalber mal kurz.
Gruß
LCS - Mi 11.12.02 09:05
Hi
Nö, ein fertiges Patentrezept gibts leider nicht. Vielleicht ein paar Punkte auf die man sein Augenmerk richten könnte:
- Kein IBTable verwenden (darauf kann man wirklich getrost verzichten)
- Nach Möglichkeit kein DBGrid verwenden
- Nur die Spalten abrufen die unbedingt benötigt werden
- Kein Select ohne Where
- Offene Transaktionen so kurz wie möglich
- Im IBMonitor beobachten was der Server so alles treibt.
Gruss Lothar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!