Länge eines Memo-Feldes [ERLEDIGT]

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Siggy
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Mo, 18. Jan 2016 14:05

Länge eines Memo-Feldes [ERLEDIGT]

Beitrag von Siggy »

Guten Tag,

ich füge in meinem Programm, welches ich gerade programmiere Datensätze zusammen.

In diesem Fall sollten diese beliebig lang und groß sein, jedoch bin ich gerade als ich einige/viele Daten zusammengefügt habe auf einen Fehler gestoßen. :(

Ist ein Memo Feld begrenzt in der Zeichenzahl bzw. kann ich die Größe irgendwie abfragen? #-o

Danke schonmal:D
Zuletzt geändert von Siggy am Fr, 13. Mai 2016 8:59, insgesamt 1-mal geändert.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von Jan »

Hallo,

Wenn Du FOXCDX benutzt passen da 16 TB rein, bei DBFNTX unbegrenzt :-D Sagt die Onlinehilfe. Ich denke mal das beide das gleiche sein sollen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Länge eines Memo-Feldes

Beitrag von Manfred »

aber die Größe von 2GB darf nicht überschritten werden.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von Jan »

Wieso nicht?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Länge eines Memo-Feldes

Beitrag von Manfred »

weil ich das schonmal hatte und da hat es geknallt. Natürlich in Kombination mit einer NTX DBF. Die war dann genauso groß. Was jetzt der Auslöser war....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Länge eines Memo-Feldes

Beitrag von AUGE_OHR »

FOXDBE (DATA-Komponente)

Größe einer Memo-Datei Theoretisches Limit ist 16 Terabyte oder 2^31
Blöcke. Bei einer Blockgröße von 64 Byte ist das Limit bei 128GB

Memoblockgröße 64 Bytes
(einstellbar zwischen 33 Bytes und 64 kB)

Memogröße Limitiert auf 2^31 Bytes (2 Gigabyte)
sowie
DBFDBE (DATA-Komponente)

Memo Felder benötigen 10 Byte, der Inhalt der Felder (Text) ist in Memo-Dateien gespeichert.
Die Länge des Textes für ein Memo-Feld ist nicht begrenzt

Größe einer Memo-Datei Limitiert auf Systemresourcen
was bei 32bit -> 2GB bedeutet
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von brandelh »

Nur bei der FOXDBE hat Xbase++ ordentlich aufgerüstet (oder musste wegen der Vorgaben).

Clipper konnte max 65 KB dagegen ist ein DBFDBE Memofeld groß, aber nicht unbegrenzt ;-)

schauen wir mal in die Doku:
Memo Fields always 10 bytes;
contents of the fields (text) stored in memo files and the length of the text in memo fields is not limited ... also nicht von Xbase++ künstlich begrenzt.
Size of a memo file Limited only by system resources ... Hier könnte 2 / 4 GB Dateigröße gemeint sein, oder die Stringlänge die max bereitsteht für Replace !
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von brandelh »

Jan hat geschrieben:Hallo,
Wenn Du FOXCDX benutzt passen da 16 TB rein, bei DBFNTX unbegrenzt :-D Sagt die Onlinehilfe. Ich denke mal das beide das gleiche sein sollen.
Jan
laut Doku bei 64 Byte Blockgröße "nur" 128 GB ...

wer schon einmal wie ich erlebt hat, dass Inhalt der Memofelder und Hauptdatei nicht mehr zusammen gepaßt haben, wird die nicht für solche Ablagen nutzen ;-)
Die Handhabung von beiden ist unterschiedlich, somit kann es nicht das gleiche sein.

Es begrenzen die möglichen Zeiger wobei für jeden die Blockgröße zur Verfügung steht, also Anzahl Zeiger * Blockgröße bei FOXCDX ist das eine 4 Byte Integer Zahl (LONG ?)
Daher auch die Berechnung in der Hilfe 2^31 * Standard-Blockgröße ... ergibt 128 GB.

Die 16 TB max habe ich schon oft gelesen, vermutlich eine Begrenzung von NTFS.

Und immer daran denken, der Feldinhalt muss vorher im RAM einer Variablen gewesen sein. Max. RAM einer 32 Bit Anwendung 3,5 GB ... wobei 500 MB schon recht viel sind.
Irgendwann um 2 bis 3 GB einer VAR dürfte alles absterben (XppFatal vermute ich).
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von Herbert »

Darf ich mal unbedarft fragen, wie man solche Grössen in ein Feld bringen kann? Wie generiert man so was in der Praxis?
Wir spechen doch von einem Datensatz und nicht von der Grösse der mmo-Datei , oder?
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von brandelh »

Wir sprechen von einem Feld, wenn es um das geht was man mit einem Befehl in REPLACEN kann.
Allerdings gibt es auch interne Buffer, meist ein Datensatz bei DBFs, aber die paar Byte der anderen Felder spielen dann sicher keine große Rolle mehr.
Auch hängt es von der Art der Pufferung der Memodatei ab, vermutlich aber ein Vielfaches der Blockgröße damit man eine logische Platteneinheit voll bekommt (meist wohl 512 Byte oder 4 K).

Ich habe schon 500 MB in eine Variable mit memoread() eingelesen ( Rechner mit 64 Bit Windows und 8 GB Ram, sodass die EXE maximalen RAM zur Verfügung hatte).
1 GB sollte auch noch gehen, allerdings habe ich da aktuell keine zum Testen ... aber bald danach dürfte das Programm abschmieren weil ihm die Luft ausgeht.
Bei Zuweisungen oder Verarbeitungen gibt es ja auch häufig Kopien vom RAM Inhalt, die den Speicher belasten.

Ob das sinnvoll ist ist eine ganz andere Frage !

Ich nutze lieber Verweise auf Dateien und speichere die als externe Datei.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Länge eines Memo-Feldes

Beitrag von Jan »

Siggy ging es ja darum zu erfahren, wie viel in ein Memofeld reinpasst. Und ich denke, jeder der hier angesprochenen Werte dürfte duchraus ausreichend sein.

Die Werte in der Hilfe sind vermutlich ohnehin eher akademischer Natur. Wie oben schon angedeutet wurde - was kann man denn da rein schreiben was dann mal eben 16 TB je Feld ausmacht??? Und wie will ich das auf einem Rechner verarbeiten können? Das ist so ähnlich wie mit dem aktuellen PDF-Standard - wer erzeugt schon Dokumente mit einer Seitenlänge von 381 km? Gehen tut das, aber wer macht sowas, wer braucht sowas?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Länge eines Memo-Feldes

Beitrag von Manfred »

Jan hat geschrieben:...Das ist so ähnlich wie mit dem aktuellen PDF-Standard - wer erzeugt schon Dokumente mit einer Seitenlänge von 381 km? Gehen tut das, aber wer macht sowas, wer braucht sowas?

Jan
Steffen, wenn er gerade philosophiert. :badgrin:
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Siggy
Cut&Paste-Entwickler
Cut&Paste-Entwickler
Beiträge: 20
Registriert: Mo, 18. Jan 2016 14:05

Re: Länge eines Memo-Feldes

Beitrag von Siggy »

Danke!

Dann müsste das was ich in meinem Programm vor haben funktionieren.

Gruße,
Siggy :lol:
Antworten