Announcement

Collapse
No announcement yet.

Firebird error 10054

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Firebird error 10054

    Hallo,<BR>
    ich habe in meinem Projekt 2 Datenbaken, eine mit ca 70 MB Daten und eine kleine mit ca. 20 MB, wo nur die Dateien der Programmversion liegen.<BR>
    Aus dieser hole ich durch ein separates Programm bei Bedarf die neue Programmversion raus. Damit sind in de Tabellen Blobfelder Typ 0, die dann schon mal eine 6 MB grosse Datei speichern. Obwohl ich hier in der Regel nur lesend zugreife, macht diese db öfters Probleme. Ab und zu meldet der Server dann einen internal gds software consistece error und im Logfile
    sind haufenweise read und send errors 10054 und 'cannot open thread' Meldungen.
    Kann es an den grossen Blobs liegen oder hat jemand ähnliche Probleme?<BR>
    Was kann ich checken. Ich benutze noch Firebird 1.0.<BR>
    Frank

  • #2
    Hallo Frank,<br><br>
    es handelt sich hierbei um einen INET Fehler, der unter Angabe des Fehlercodes mit folgendem Befehl in einer DOS-Box ausgegeben werden kann.<br><br>
    net helpmsg 10054<br><br>
    Die häufigsten Ursachen für Einträge mit 10054 im Log-File sind z.B.:<br><br>
    - Die Client-Anwendung wurde beendet (z.B. mit dem Task-Manager) oder ist abgestürzt, ohne die Verbindung zur Datenbank vorher zu schließen.<br>
    - Fehlerhafte Netzwerkkomponenten<br><br>
    Ein "internal gds software consistence" Fehler weist meistens auf eine beschädigte Datenbankdatei oder einen Bug im Firebird-Code hin. Ich würd mal mit gfix.exe die Datenbank auf Fehler untersuchen.<br><br>
    Auch in Deinem Fall wär eine genauere Beschreibung Deiner Systemumgebung hilfreich, wie:<br><br>
    - Welches Betriebssystem (Client bzw. Server)?<br>
    - Welche Zugriffskomponenten unter welcher Delphi/CBuilder Version<br>
    - Existiert nur eine gds32.dll im Suchpfad oder besser am gesamten Rechner<br>
    - Wie sieht Deine Anwendung aus? Ist diese multi-threaded? Wie greifst Du konkret in der Anwendung auf die BLOB Daten zu?<br>
    - Wie sieht der Connect-String aus?<br>
    - Ist FORCED WRITES für Deine Datenbank eingeschaltet?<br><br>
    Wie immer eine Menge Gegenfragen, um vielleicht zu einer Lösung zu kommen.<br><br>
    Gruss,<br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,<BR>
      die Beschreibung der Systemumgebung wir mindestens so umfangreich wie deine Fragen.;-)<BR>
      Server ist W2000 Server SP3, IBM mit 2 XEON CPU's. Clients fast ausschliesslich W2000 Prof, einige NT4. Die gds32.dll liegt nur im Applikationsverzeichnis, es erfolgte keine Client - Installation, nur der Eintrag in der Datei services.<BR>
      Server is Firebird SuperServer Vers. 1.0.0.794.<BR>
      Das Speichern und Laden der Programmdateien aus der FirebirdDB (version.db) erfolgt mit IBO über:<BR><BR>
      TBlobField(qryFiles.FieldByName('datei')).savetoFi le(f); // bzw. loadfromfile<BR><BR>
      ForcedWrites hatte ich bei TIB_Connection eigentlich immer auf true, habe aber gerade festgestellt, steht auf default und müsste also deaktiviert sein (ist doch Standard, oder?).<BR>
      Ach ja, Entwicklungsumgebung Delphi 6 Prof. Anwendung ist nicht multi - threaded (soweit bin ich noch nicht durchgekommen :-(<BR>
      Einige Clients greifen über Intranet (2 MBit) zu.<BR>
      Ich prüfe noch mal ForcedWrites und die gds32.dll.<BR>
      Der Connection String, von dem immer die Rede ist, was meinst du da genau? Ich glaub, hier habe ich eine Wissenslücke.<BR>
      Also, die Werte aus TIB_Connection sind:<BR>
      USER NAME=sysdba<BR>
      SQL DIALECT=3<BR>
      CHARACTER SET=ISO8859_1<BR>
      PAGE SIZE=4096<BR>
      PROTOCOL=TCP/IP<BR>
      SERVER=192.168.1.1<BR>
      PATH=d:\secret\ais\database\akis.gdb<BR>
      ROLE NAME=AIS<BR>
      und natürlich auch ein aufrichtiges Danke für die ersten Hinweise<BR>
      Fran

      Comment

      Working...
      X