Autor Beitrag
dalpers
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Fr 03.02.06 18:02 
Hi,

Ich bekomme bei der aktivierung eines Querys immer die Fehlermeldung: "Zu wenig Festplattenspeicher".

An dem Delphi-Code kann es meiner Meinung nach nicht liegen, denn er tritt in Abhängigkeit vom SQLQuery auf:

z.B.
SELECT * FROM tabelle1 -> funzt
SELECT * FROM tabelle2 -> Zu wenig Festplattenspeicher

Als Unterschid zwischen den beiden Paradox-Tabellen fällt mir nur auf, dass die 2. viel mehr Felder hat (mehr als 70)
DAs Problm tritt auch wenn ich die zurückgelieferten Zeilen durch eine WHERE-Klausel auf 10 Datensätze begrenze.

Weiß Jemand von euch, ob Delphi da eine Beschränkung hat?
Hate von euch schonmal diesen Fehler? Hier im Forum habe ich nur einen Eintrag von vor 3 Jahren gefunden, der nicht wirklich gelöst wurde.

Vielen Dank schonmal

Denise

PS: Ihr fragt euch bestimmt warum ich eine Tabelle mit so vielen Feldern brauche: Auf die Tabellenstruktur habe ich leider keinen Einfluss, weil sie von einem anderen Programm vorgegeben ist und das Programm für das die Daten vorbereitet werden braucht die Daten auch genau in der Form...
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Fr 03.02.06 18:18 
Wenn auf deiner Platte noch viel Platz frei ist, ist das wahrscheinlich ein bekannter BDE-Bug: Die BDE ist schon ziemlich alt und benutzt offenbar einen Integer zur Ermittlung des freien Plattenspeichers. Wenn mehr als 4 GB frei sind, kommt da Unsinn bei raus und es kommt fälschlicherweise zu dieser Meldung. Machen kannst du da nicht viel ausser auf einer Partition < 4GB Grösse arbeiten oder etwas Platz freiräumen oder belegen.
Da Weiterentwicklung und Support der BDE schon seit langem eingestellt sind, wird das auch nicht mehr gefixt. Ich kann nur dazu raten, möglichst schnell eine andere Datenbankschnittstelle als die BDE zu verwenden.

Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
MagicAndre1981
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 03.02.06 20:52 
Das ist imho ein BDE-Bug. Es darf nicht ein vielfaches von 4GB (4, 8, 12 etc.) auf der Partition frei sein.
dalpers Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Mo 06.02.06 08:49 
Titel: Danke
Danke für die Antworten. Dann werde ich da mal rumexperimentieren...
Auf dem Laufwerk auf dem Das Programm liegt sind 4.16 GB frei. und auf Laufwerk C: sinds 40.1 GB.
Das liegt beides ziemlich an der Grenze. Daran könnte es liegen.

Bei der Bröße kommt es doch auf das Laufwerk an, auf dem das Private-Dir ist, oder?
dalpers Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Mo 06.02.06 14:01 
Das war genau das Problem. Bei einer anderen Festplattenkapazität ist das alles kein Problem mehr.
Ich kann den Fehler zwar abfangen, aber ich kann ja nicht immer dafür sorgen, dass der Speicherplatz auf der Festplatte passend ist.

Ich gahe mal davon aus, dass es keine Möglichkeit gibt das Problem zu umgehen, oder?

Mir fällt nur grade auch keine brauchbare Alternative zur BDE ein um auf die PARADOX-Datenbank zuzugreifen.
Über ODBC-Zugriff auf Paradox hab ich bisher auch nur Schlechtes gehört...

Habt ihr vorschläge?
Stefan.Buchholtz
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 612

WIN 2000, WIN XP, Mac OS X
D7 Enterprise, XCode, Eclipse, Ruby On Rails
BeitragVerfasst: Mo 06.02.06 17:06 
Mein Vorschlag wäre, eine richtige Datenbank zu verwenden 8)

Mir ist klar, dass man sowas nicht von heute auf morgen durchziehen kann, aber ich würde darüber nachdenken.

Stefan

_________________
Ein Computer ohne Windows ist wie eine Schokoladentorte ohne Senf.
dalpers Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: Di 07.02.06 09:34 
Darauf habe ich keinen Einfluß, weil die Datenbank von einem anderen Programm kommt. Ich schreibe ja nur sowas wie eine Auswertung dafür. Und der Umstieg auf ein anderes System ist ja noch wesentlich mehr Aufwand, Aber dann hätte ich wenigstens nicht mehr diesen Ärger...

Trotzdem Danek für den Hinweis
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 07.02.06 09:50 
Link: www.degisy.com/degisy-data.php
Ich kenne die Komponenten nicht aus eigener Erfahrung, sollen aber auf Paradox ohne BDE zugreifen können.
TheHuette
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 81



BeitragVerfasst: Do 05.08.10 10:47 
------------------------
Edit:
Die Frage "Weiß jemand, ob ein ähnlicher Patch wie der [...] "benutze GetDiskFreeSpaceEx anstatt GetDiskFreeSpace" auch beim Ermitteln des freien Arbeitsspeichers anwendbar ist bzw. nötig ist, anzuwenden?" kann ich mir jetzt selbst beantworten mit: Es ist nicht nötig, weil es nicht sein kann, dass ein ähnliches Problem beim Ermitteln des freien Arbeitsspeichers auftritt.
------------------------

Das ist zwar eine "alte Kamelle", aber weil ich gerade darüber gestolpert bin, möchte ich kurz auf diese (halbwegs) gute Nachricht hinweisen:

cc.embarcadero.com/item/21475

Der Patch, der dort erwähnt wird, funktioniert super.

Ich setze mich (mehr oder weniger unabhängig davon) gerade mit der Frage auseinander, ob es das gleiche Problem auch bei der Berechnung des freien Arbeitsspeichers gibt.

Mit einer unserer Anwendungen, die (noch) über die BDE auf (noch) Paradox-Tabellen zugreift, kommt es immer wieder mal zum Fehler "zu wenig Arbeitsspeicher für diese Operation" bzw. "Insufficient memory for this operation" ($2501). Oft hilft der allgemeine Ratschlag, gewisse BDE-Einstellungen, wie SHAREDMEMSIZE zu erhöhen (siehe "Borland Database Engine (BDE) Best Practices" in www.prestwoodboards....view.asp?qid=101149), aber nicht immer.

Weiß jemand, ob ein ähnlicher Patch wie der oben erwähnte "benutze GetDiskFreeSpaceEx anstatt GetDiskFreeSpace" auch beim Ermitteln des freien Arbeitsspeichers anwendbar ist bzw. nötig ist, anzuwenden?