Announcement

Collapse
No announcement yet.

GDS-Fehler beim Clientzugriff

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

  • GDS-Fehler beim Clientzugriff

    Ich nutze D5, IB6, IBX 4.52. Meine Haupttabelle hat 3 Felder Nummer, Name, Ort. Formular mit einem Grid. 2 TIBDataset, eine zeigt die Tabelle nach Namen, die andere nach Ort sortiert an. Mit 2 Knöpfen schalte ich eine Datasource jeweils auf eine der Tabellen. Wird eine Zeile gewählt, werden aus einer Kundentabelle die Daten passend zur Nummer angezeigt.<br>
    Die Anzeige erfolgt durch Paramteranfrage an eine Stored-Proc, die die Kundendaten zurückliefert.<br>
    Auf dem Serverrechner soweit alles ok. Schalte ich auf dem clientrechner nach der Anzeige und schließen des Unterformulars zwischen Name und Ort um, stürzt das Programm kpl. ab mit der Fehlermeldung 'Fehler in der GDS'.
    Kein Zugriff mehr möglich. Starte ich das Programm neu, geht alles wieder.<br>
    Was ist auf dem Client anders ? 20 andere Abfragen funktionieren! Egal ob IBDataset, IBTable oder IBQuery.

  • #2
    Die Meldung "Fehler in der GDS" habe ich noch nie gesehen. Kann es sein, das da noch mehr oder was anderes steht

    Comment


    • #3
      Tschuldigung, <br>
      natürlich steht da 'IBDatabase error, Fehler in der gds32.dll

      Comment


      • #4
        Hmm, keine Ahnung. Ich würde mal die Client-Version überprüfen (Versionsinfo der gds32.dll in System[32]). Ist die Version bei dem Problemkind die gleiche wie bei den funktionierenden Clients

        Comment


        • #5
          Die GDS ist identisch, ich habe heute zusätzlich auf allen Rechnern und clienten das Update von mers.com aufgespielt.<br>
          Immer noch das gleiche Ergebnis.<br>
          Ich werde jetzt wohl doch die Codezeilen einzeln auskommentieren bis der Fehler weg ist(seufz,2000 Zeilen im aufrufenden, 1500 im aufgerufenen Formular).<br>
          Ich melde dann das Ergebnis

          Comment


          • #6
            Nächster Schritt,<br>
            auf dem Unterformular zur Tabelle rufe ich mit einer Stored-Proc die Adressdaten aus einer anderen Tabelle und zeige diese in Edit-Feldern an.<br>
            Wenn dieses Formular aus dem Tabellen-Formular 2 mal aufgerufen wird, erscheint obiger Fehler. Auf dem Unterformular sind 2 andere Detailabfragen (Telefonliste, Auftragsliste) fehlerfrei, trotz fast gleichem Code im Programm und in der Serverprocedure.<br>
            Der FEhler tritt immer noch nur auf den Clientrechnern auf!! Nicht wenn ich das Programm auf dem Serverrechner aufrufe

            Comment


            • #7
              Ok. Das hilft schon mal weiter. Es gibt einen Bug in Interbase, der beim zweiten Ausführen einer Stored Procedure (EXECUTE PROCEDURE) über eine Remote-Verbindung zu einer Fehlermeldung führt. Bei einer lokalen Verbindung tritt das nicht auf. Möglichkeiten zur Abhilfe:
              a) Vielleicht ist dieses Problem in der Version 6.0.1.6 beseitigt. Sofern Du nicht mit dieser oder der zertifizierten Version arbeitest, versuch's doch mal mit der aktuellen OpenSource Version von Mers: http://mers.com/ib_wi_os_tIB6_0_1_6.exe (auf Client und Server installieren). Das Ergebnis würde mich auch SEHR interessieren.
              b) Versuche, nach jedem Ausführen der Stored Proc explizit ein Unprepare auszuführen. (StoredProc.Unprepare).
              c) Wenn a+b nichts bringen, dann kannst Du Deine Stored Procedure in eine SELECT-Procedure umbauen. Dazu muss am Ende der SP einmal SUSPEND; aufgerufen werden. Der Client führt die SP dann mit "SELECT * FROM SP(..)" und nicht mit "EXECUTE PROCEDURE SP(..)" aus. Dazu benötigt der Client ein Query-Object statt eines StoredProc-Objekts, es sei denn, Du verwendest IBObjects.

              Ich würde an Deiner Stelle in dieser Reihenfolge (a,b,c) vorgehen.

              Gruss
              K

              Comment


              • #8
                Hallo, das war es, danke !
                Die eine Procedure musste ich durch eine Dataset-Komponente ersetzen. Alle Updates (Delphi/IBX/Server) sind eingespielt, Dutzende andere, bis auf einzelne Zeilen sich unterscheidende Stored-Procs funktionieren auch nach dem 10 Aufruf hintereinander. Nur diese Eine nicht. Werde ich wohl mit leben müssen.<br>
                PS : Unprepare nützt auch nichts. Einbinden der SP in ein Select auch nicht.

                Gruß G

                Comment


                • #9
                  Ok. Was mich noch besonders interessieren würde: Mit welcher IB-Version arbeitest Du? Hast Du's auch mit der V6.0.1.6 probiert?

                  Gruss

                  K

                  Comment


                  • #10
                    Ja, von mers wie oben beschrieben.

                    gruss F

                    Comment


                    • #11
                      Fehler gefunden !
                      Wie im fehler mit 'request BLR' lag es an der automatischen
                      Erzeugung der proceduren über IBSQL mit eingeschaltetem paramcheck ! Einige funktionieren 1 mal über TCP, danach nicht mehr. Ohne Fragezeichen alles ok.

                      gruss Forste

                      Comment

                      Working...
                      X