Indexkey-Länge für FOXCDX

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Indexkey-Länge für FOXCDX

Beitrag von Wolfgang Ciriack »

Hallo,
könnte mir mal jemand sagen, wie die max. Indexkey-Länge unter Version 1.9 für FOXCDX ist ?
Viele Grüße
Wolfgang
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von nightcrawler »

müsste 240 Bytes sein
edit: von hier: https://devzone.advantagedatabase.com/d ... index.html
Advantage Concepts > Advantage File Formats > Xbase File Format Specifications
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von Wolfgang Ciriack »

Ja, hätte ich auch gedacht.
Mit Benutzung des ADS kann ich den Indexschlüssel auch länger machen, ohne knallt es bei der Erzeugung des Indexes schon bei über ca. 120 Zch.
Viele Grüße
Wolfgang
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Indexkey-Länge für FOXCDX

Beitrag von HaPe »

Hallo Wolfgang !
... ohne knallt es bei der Erzeugung des Indexes schon bei über ca. 120 Zch.
Aus der VFP9-Hilfe zum INDEX-Befehl:
With some collating sequences, or when using double-byte character set (DBCS) characters, each character in the index expression uses two characters in the index key. In these cases, the length of the index expression is limited to 50 or 120 characters, respectively.
--
Hans-Peter
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von brandelh »

Laut der Xbase++ Hilfe:
CDXDBE (ORDER Komponente)
Max. length for both
INDEX plus FOR expression 512 characters
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von Wolfgang Ciriack »

Hallo HaPe,
ja, das deckt sich mit meinen Erfahrungen, das bei ca. 120 Zch. die Fehlermeldung kommt.
Warum das aber bei meiner Konfiguration zutrifft, weiß ich nicht.

Code: Alles auswählen

   DbeSetDefault("FOXCDX")
IF DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
   DbeInfo(COMPONENT_DATA,FOXDBE_LOCKRETRY,1000000)
   DbeInfo(COMPONENT_DATA,FOXDBE_LOCKDELAY,10)
   DbeInfo(COMPONENT_DATA, FOXDBE_LIFETIME, 0)

   DbeInfo(COMPONENT_ORDER,CDXDBE_LOCKRETRY,1000000)
   DbeInfo(COMPONENT_ORDER,CDXDBE_LOCKDELAY,10)
   DbeInfo(COMPONENT_ORDER, FOXDBE_LOCKMODE, LOCKING_EXTENDED)
ENDIF
Hallo Hubert,
das habe ich auch gelesen, leider scheint es nicht zu stimmen.
Viele Grüße
Wolfgang
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von nightcrawler »

Wolfgang Ciriack hat geschrieben: Di, 09. Mär 2021 19:58 120 Zch.
Bytes != Zeichen
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Indexkey-Länge für FOXCDX

Beitrag von AUGE_OHR »

PDR 4846
The following restrictions apply to the CDXDBE:

- maximum key-expression size plus for-expression size if 512 byte.
This means your key-expression can be at max. 512 bytes if no
for expession is given. Or in other words both expession share
the same storage location which has a maximum size of 512 bytes.

- maximum key-value length is 240 bytes. This implicates that if
you have a collation table active the size in characters of your
key-value is limited to 120 chars - this is bec. the CDXDBE
collation table transforms the key-value by expanding each
character into 2 bytes. If collation is ASCII or CDXDBE_MODE
is FOXPRO2X, no transformation occurs and the key-value size
is restricted to 240 characters.
gruss by OHR
Jimmy
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Indexkey-Länge für FOXCDX

Beitrag von Wolfgang Ciriack »

Danke Jimmy.
If collation is ASCII or CDXDBE_MODE
is FOXPRO2X, no transformation occurs and the key-value size
is restricted to 240 characters.
Hm, meine DBFs sind ASCII, also müssten doch 240 Zeichen möglich sein ?
Viele Grüße
Wolfgang
Antworten