Wir haben eine Multi-Tier-Application mit Midas entwickelt. Auf die Midas-Server greifen wir via TCP/IP (SocketServer) zu.
Als Datenbank setzen wir Interbase 6 (Firebird) ein. Der Zugriff auf Interbase erfolgt über Standart-Querys und somit über die BDE.
Als Server-Betriebssysteme kommen Windows NT 4.0/2000-Server zum Einsatz. Als Client-Betriebssysteme verwenden wir Windows 98/XP-Home.
Wenn nun 2 unserer Client-Programme gleichzeitig Daten anfordern, dann bleibt häufig eines der Client-Progamme ohne Fehlermeldung stehen.
Wird nun der Midas-Server beendet, so startet der Midas-Server erneut und der stehengebliebenen Client bekommt seine Daten.
Der Timeout des SocketServers tritt allerdings nicht ein.
Wird eine Datenverbindung über die InterBase-Komponenten (also ohne BDE) realisiert, so tritt das Problem nicht ein.
Daher erzeugt wahrscheinlich die BDE den Fehler.
Jemand eine Idee?
Als Datenbank setzen wir Interbase 6 (Firebird) ein. Der Zugriff auf Interbase erfolgt über Standart-Querys und somit über die BDE.
Als Server-Betriebssysteme kommen Windows NT 4.0/2000-Server zum Einsatz. Als Client-Betriebssysteme verwenden wir Windows 98/XP-Home.
Wenn nun 2 unserer Client-Programme gleichzeitig Daten anfordern, dann bleibt häufig eines der Client-Progamme ohne Fehlermeldung stehen.
Wird nun der Midas-Server beendet, so startet der Midas-Server erneut und der stehengebliebenen Client bekommt seine Daten.
Der Timeout des SocketServers tritt allerdings nicht ein.
Wird eine Datenverbindung über die InterBase-Komponenten (also ohne BDE) realisiert, so tritt das Problem nicht ein.
Daher erzeugt wahrscheinlich die BDE den Fehler.
Jemand eine Idee?