Autor Beitrag
opfer.der.genauigkeit
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Di 10.12.02 10:55 
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

_________________
Stellen Sie sich bitte Zirkusmusik vor.
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
opfer.der.genauigkeit Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754
Erhaltene Danke: 1



BeitragVerfasst: Di 10.12.02 16:58 
Über eine DB- Anbindung... könnte man probieren.

Thx.

_________________
Stellen Sie sich bitte Zirkusmusik vor.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: 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

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...