Announcement

Collapse
No announcement yet.

OutOfMemory beim Ausführen einer SQL-Abfrage

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

  • OutOfMemory beim Ausführen einer SQL-Abfrage

    Hallo,
    folgendes habe ich im C++Builder Forum gepostet:
    <I>
    Hallo,

    ich arbeite mit dem C++Builder 6 und InterBase an einer Datanbankanwendung und habe folgendes Problem mit dem Export, bei dem es möglich sein soll, mehrere Felder optional zu exportieren. Wird keines dieser Felder mit-exportiert, gibt es auch kein Problem. Wenn alle angewählt werden, tritt eine OutOfMemory Exception auf, obwohl(!!) noch ausreichend speicher zur Verfügung steht (zuerst mit dem Taskmanagner und mit Memproof überprüft). Wird mehrmals mit wenigen optionalen Feldern exportiert, ohne das Programm zu schliessen und neu zu starten, passiert nach dem x-ten Mal das Gleiche.

    Wie's aussieht, wird die Exception immer (noch nicht ganz sicher) in der Open Methode von TIBQuery geworfen. Vielleicht hat jemand schonmal ein ähnliches Problem (mit TIBQuery?) gehabt? Oder kann sich (und auch mir ) jemand erklären, wie eine OutOfMemory Exception geworfen werden kann, wenn genug Memory frei ist?

    mfg Nico Luck

    </I>

    Inzwischen bin ich mir sicher, dass die Exception nur innerhalb TIBQuery::Open() geworfen wird.
    Deshalb dachte ich, mein Problem passt vielleicht eher in dieses Forum.

    Danke im Voraus

  • #2
    Hallo,

    hinter TIBQuery verbirgt sich nur eine Kompatibilitäts-Komponente, die den Prozess einer Migration von der BDE zu IBX erleichtern soll. Am Ende dieses Migrations-Prozesses sollte man das Teil aber entsorgen :-)

    Wenn es unbedingt TIBQuery sein soll, würde ich die Eigenschaft <b>UniDirectional</b> auf True setzen, damit IBX nur einen Datensatzpuffer für die Ergebnismenge der SELECT-Abfrage einrichten muss

    Comment


    • #3
      Hallo,

      vielen dank für diese schnelle und kompetente Antwort!

      Problem gelöst :

      Comment

      Working...
      X