Announcement

Collapse
No announcement yet.

Fehler 9476 ($2504) - Temporary table resource limit

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

  • Fehler 9476 ($2504) - Temporary table resource limit

    !!! Hilfe !!!

    Ich habe mir ein "Packing"-Programm geschrieben, das die Original-Hilfe-Source von <b>dbiPackTable</b> bzw. <b>dbiDoRestructure</b> (für Paradoxtables) verwendet !
    Es läuft eigentlich gut, nur ist ich jetzt plötzlich ein Problem aufgetaucht, welches ich nicht verstehe :

    Ich habe einen Paradox-Table mit einer Größe von 1,9 GByte (!!!). Diesen will ich "packen", damit die reorganisierten (=gelöschten) Records physikalisch aus dem Table entfernt werden, um keine Probleme mit der maximalen Tablegröße (ca. 2,2 GByte) zu bekommen
    (BDE-Paradoxtreiber-Einstellungen : Level 7 - Blocksize 32768 --> ca. 2,2 GB)
    VOR dem Start habe ich folgenden Speicher zur Verfügung : Auf der <b>Festplatte</b>, auf der gearbeitet wird sind ca. <b>3,5 GB</b> frei (für ("RestTemp.db"), im <b>TEMP</b>-Verzeichnis sind noch ca. <b>2,4 GB</b>frei !
    Nach dem Start des Packens kann ich im Explorer beobachten, daß der Table "RestTemp.db" anwächst, bis er bei <b>1,762 GB</b> stehenbleibt. Dies' ist ungefähr die Größe, die der gepackte Table anschliessend haben wird !!!
    Auf der Festplatte sind zu diesem Zeitpunkt <b>noch ca. 1,85 GB</b> frei und im temporären Verzeichnis noch immer 2,4 GB.
    Wenn der temporäre Table diese 1,762 GB erreicht hat, verändert sich für ca. 5 Minuten die Größe nicht mehr und auch der freie Festplattenspeicher bleibt konstant bei 1,85 GB !
    Meines Erachtens müßte alles in Ordnung sein und es keine Probleme geben,
    doch nach den 5 Minuten kommt plötzlich die Meldung <b>"Temporary table resource limit"</b>, der temporäre Table "RestTemp.db" wird gelöscht und beim Beenden des Programmes gibt es eine Zugriffsverletzung !

    Ich verstehe nicht, was mit der BDE-Fehlermeldung gemeint ist, da der temporäre Table ja bereits in seiner vollen Größe existiert !????! Leider habe ich keine Infos darüber gefunden und ich weiß auch nicht, wie ich dieses Problem in der Source bereits erkennen könnte ....

    Kann mir irgendjemand sagen, warum der Fehler auftritt, obwohl noch genügend Speicher vorhanden ist ??? Was muß verändert werden, damit der Fehler nicht mehr kommt ??
    Seltsamerweise hat das Packen (restrukturieren) dieses Tables bis heute immer korrekt funktioniert *ratlosbin*

    Falls keiner dieses Problem und die Lösung dazu kennt, hoffe ich wieder einmal sehr stark auf die Hilfe von Hr. KOSCH ..... ;-)

    Vielen Dank im Voraus - BERND!

  • #2
    ..... als ob ich zaubern könnte ;-)

    Ich hatte in den letzten Jahren mehrfach mit einem SQL-Server zu tun, dessen Datenbanken von der Spezifikation her nur maximal 2 GByte gross werden durften. Derart große Datenbanken mit Paradox zu betreiben ist aus meiner Sicht schon sehr mutig.

    Was passiert, wenn diese Paradox-Tabelle über das Delphi-Zubehör <i>Datenbankoberfläche</i> reorganisiert wird? Tritt dieser Fehler dann immer noch auf? Wenn ja, wie sieht es aus, wenn das Programm unter NT/2000 mit einer NTFS-Partition verwendet wird?
    &#10

    Comment


    • #3
      Sehr geehrter Hr. Kosch,

      vielen Dank - wieder einmal - für Ihre schnelle Reaktion !

      Vielleicht können Sie wirklich nicht "zaubern" - für mich erweckt es aber immer wieder den Eindruck - wenn ich im Forum schmökere, als ob es so wäre ..... ;-)

      Zum Problem : Leider ist die Datenbank, die mein Problem betrifft, in ca. 1000 Km Entfernung bei einem Kunden am Server installiert und ich kann nur über "pcAnywhere" darauf zugreifen und Programme darauf starten !
      Daher ist vor Ort auch keine Datenbankoberfläche installiert und ich kann auch nicht ausprobieren was dabei passieren würde ! Auf dem verwendeten Server läuft NT4.00 und ich kann das Ganze leider auch nicht unter Win2000 ausprobieren !

      Andererseits, habe ich das Speicherplatzproblem auch ("Insufficient discspace" - bei 3,5 GB freiem Speicher !!!), wenn ich den Table "künstlich" packen versuche, indem ich mittels TBatchmove (batAppendUpdate) einen [vom Update-Programm aus] neu generierten Table befüllen will !!!

      P.S.: Daß wir für solch' riesige Datenbanken (insgesamt über 7 GB) noch immer Paradox verwenden hat "historische Gründe" - wir sind aber bestrebt unsere gesamte Software auf C/S-Technologie umzustellen ..

      Comment


      • #4
        Hallo,

        wenn das Programm unter NT läuft (und somit auf eine NTFS-Partition zurückgreift, anstelle von FAT32 wie bei Win9x) und das Problem immer noch auftritt, bin ich vorerst ratlos. Ich werden mal im Technical Information-Artikel über die BDE-Limits blättern, ob dort ein Hinweis zu finden ist.

        Immer dann, wenn Fakten fehlen, bleibt nichts anderes übrig, als zu experimentieren. Wurde schon in der BDE-Verwaltung an den Werten für die BDE-Konfigurationen (MEM SIZE etc.) "gedreht"

        Comment


        • #5
          Sehr geehrter Hr. Kosch,

          sorry erst einmal für meine späte Reaktion ...

          Wir haben auch an den BDE-Einstellungen schon des öfteren "gedreht" (auch für andere Projekte) und die müßten OK sein !
          Ich glaube aber, wir haben das Problem nun gelöst und zwar hat es mit dem Packen an und für sich absolut nichts zu tun !
          Und zwar hatte der Server in letzter Zeit Probleme mit dem Ereignis-Protokoll-Dienst, da das dafür vorgesehene File bereits voll war und so immer wieder die dementsprechende Meldung kam. Ich habe das zwar ändern lassen, der Fehler beim Packen kam aber dennoch !
          Ein Kollege von mir hat mir nun mitgeteilt, daß NT selbst Probleme mit der Speicherverwaltung und dem Ereignis-Protokoll-Dienst bekommt wenn es länger laüft und sich dann immer wieder "verschluckt" ! Abhilfe schafft dabei ein Neustart des Servers ! Einige unserer Kunden haben nun eine Neustart-Automatik eingebaut und NT hat nun keine Probleme mehr !
          Wir haben auch bei meinem "Problem-Kunden" einen Neustart des Servers durchgeführt und seither funktioniert auch das Packen wieder - mit denselben Programmen in der exakt gleichen Umgebung !

          Vielen Dank trotzdem für Ihre Mühen - eventuell kann Ihnen unsere Erkenntnis ja auch einmal behilflich sein !

          Schönen Tag noch - Bernd Krein

          Comment


          • #6
            Ich habe ein ähnliches Problem und auch NT Server, der nach meiner bisherigen Anschauung möglichst durchlaufen sollte. Also Ihre Empfehlung: Wöchentlich einmal reset?

            Mein Problem: Mehrere Anwendungen laufen. Alle Delphi. 3 mit BDE, SQL Paradox. Speicher ist 256MB, kaum ausgelastet. Die Tabellen sind meist unter 1 MB. Trotzdem kommt bei Abfrage einer kleinen Tabelle
            "zu wenig Arbeitsspeicher für diese Operation" (select * from)
            Wo muß kann ich drehen?
            MfG Wolfgang Dümchen [email protected]

            Comment

            Working...
            X