FoxCdx und Feldnamenlängen

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

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

FoxCdx und Feldnamenlängen

Beitrag von Manfred »

Irgendwo habe ich mal vor längerer Zeit gelesen, seit der 2.0er ist der Foxcdx Treiber in der Lage mehr als 10 Zeichen Länge für Felnamen ermöglichen. Stimmt das? Ich finde dazu nichts.
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
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: FoxCdx und Feldnamenlängen

Beitrag von brandelh »

Unter New Features in der 2.00 Hilfe steht das:
Xbase++ Hilfe hat geschrieben:New: Long field names for DBF tables with FOXDBE
The FOXDBE DatabaseEngine now detects an existing DBC and loads the table-specific meta information from the Visual FoxPro database containers. Long field names are therefore supported.
die Deutung überlasse ich euch ;-)

DBC ?
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: FoxCdx und Feldnamenlängen

Beitrag von Martin Altmann »

Wird wohl (wie weiter hinten in Deinem Zitat ersichtlich) für DataBase Container stehen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
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: FoxCdx und Feldnamenlängen

Beitrag von brandelh »

Die reinen Buchstaben habe ich dem Teil auch zugeordnet, aber was das ist und wie man damit umgeht ist für mich eher nebulös ;-)
Gruß
Hubert
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: FoxCdx und Feldnamenlängen

Beitrag von HaPe »

Hallo Zusammen !
Wird wohl (wie weiter hinten in Deinem Zitat ersichtlich) für DataBase Container stehen.
Die reinen Buchstaben habe ich dem Teil auch zugeordnet, aber was das ist und wie man damit umgeht ist für mich eher nebulös ;-)
Das ist nicht nebulös. [-X
Das ist einfach eine weitere DBF-Tabelle (was sonst) in der Metainformationen zu allen Tabellen eines Projektes stehen.
Dazu gehören lange Feldnamen, Format-Maske, Eingabe-Maske, Caption, Regel, Meldung, Default-Wert, AutoInkrement-Wert, zugeordnete Klasse zur Anzeige der Daten, der Kommentar zu einem Feld aber auch zur gesamten Tabelle. Dann noch ein INSERT-, UPDATE-, und DELETE-Trigger für die Tabelle in denen man eigenen Code hinterlegen kann sowie einen Alias-Namen der Tabelle.
Ein DataDictionary also wie es ein SQL-Server zur Verwaltung auch hat.

Wie Ihr seht, alles sehr nützlich Dinge die man nicht selbst dazu bauen muss.
Ich übernehme davon zahlreiche Daten in die MS-SQL- sowie PostgreSQL-Datenbank.
Das wichtigste sind dabei die Beschreibung (Caption) des Feldes sowie der zugehörige Kommentar.
In meiner generischen Suchklasse muss ich nur diese Daten auslesen und nicht für jede Tabelle selbst diese Daten zuordnen.
--
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: FoxCdx und Feldnamenlängen

Beitrag von brandelh »

Ich schrieb ja "für mich" ;-)

aber ich denke, dass jemand ohne FoxPro damit auch wenig anfangen kann, daher die allgemeine Frage, obwohl ICH das nicht brauche .... ;-)

Kann man OHNE die FoxPro Hilfsmittel diese Beschreibungsdatei einfach anlegen, welche Felder und Inhalte sind nötig ? ;-)
Das könnte dann ein Xbase++ Entwickler nutzen um in seiner Sprache lange Feldnamen zu verwenden ... ;-)
Ich frage mich allerdings, ob der dann auch im DBF Header steht, vermutlich nicht und damit gibt es doch dann 2 Namen, einen kurzen und einen langen.
Für die IDE von FoxPro super, denn die weiß was sie tut, aber was bringt das uns außer Inkompatibilität ?

Du siehst ... vom Kleinen Finger zur Ganzen Hand, alles in einem Satz KFZGH :D
Gruß
Hubert
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: FoxCdx und Feldnamenlängen

Beitrag von HaPe »

Hallo Hubert !
Kann man OHNE die FoxPro Hilfsmittel diese Beschreibungsdatei einfach anlegen, welche Felder und Inhalte sind nötig ? ;-)
Ja, kann man.
Nur wird man nicht ohne weiteres zb. die Trigger nutzen können.
Aber die langen Feldnamen, die Beschreibung (Caption), der Kommentar ist einfachst auszulesen, da DBF-Tabelle.
Es gibt im DBC einen Verweis auf die Tabelle und in der Tabelle im DBF-Header den Verweis auf den zugehörigen DBC.
Hier mal die Struktur des DBC:

Code: Alles auswählen

Feld  Feldname                                                           Typ       Breite 
   1  OBJECTID     Laufende Nummer                                       Integer        4 
   2  PARENTID     Verweis auf den Parent, zb. Feld auf Tabelle          Integer        4 
   3  OBJECTTYPE   Database/Table/Field/Index                            Zeichen       10 
   4  OBJECTNAME   Tabellen-Alias/Feld-Name (bis 128 Zeichen)            Zeichen      128 
   5  PROPERTY     Kompletter Dateinamen/Standardwert-Funktion           Memo           4 
                   Caption/Kommentar/...
                   Leider nicht im INI-Format
   6  CODE         QuellCode zb. für Trigger                             Memo           4 
   7  RIINFO       Info für referentielle Integrität                     Zeichen        6 
   8  USER         Frei vom Entwickler nutzbar                           Memo           4 
Tag: OBJECTNAME Key: STR(PARENTID)+OBJECTTYPE+LOWER(OBJECTNAME)
Tag: OBJECTTYPE Key: STR(PARENTID)+OBJECTTYPE
Das könnte dann ein Xbase++ Entwickler nutzen um in seiner Sprache lange Feldnamen zu verwenden ... ;-)
Das wäre möglich.
Ich selber nutze keine langen Feldnamen; das hat historische und technische Gründe.

Ich frage mich allerdings, ob der dann auch im DBF Header steht, vermutlich nicht und damit gibt es doch dann 2 Namen, einen kurzen und einen langen.
Natürlich nicht, weil dort je Feldnamen nur 10 Zeichen Platz ist :-)
--
Hans-Peter
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: FoxCdx und Feldnamenlängen

Beitrag von Manfred »

Antwort von Alaska

es stimmt: die Unterstützung für lange Feldnamen wurde für die Kompatibilität mit Visual FoxPro hinzugefügt. Dazu ist ein ein Datenbank-Container (.dbc) nötig, der zusätzlich mit der .dbf vorliegen muss. Dieser Container lässt sich aus Xbase++ heraus leider nicht so einfach erzeugen. Das Merkmal ist also sozusagen "read-only".

Ich hoffe, das beantwortet Deine Frage.
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: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: FoxCdx und Feldnamenlängen

Beitrag von Jan »

Ich versteh das jetzt also so, das die dbf selber eigentlich keine langen Feldnamen kann. Aber man (ich drück das jetzt mal bildlich aus) eine Übersetzungs-dbf hat, in der die langen Feldname stehen, inkl. Verweis auf den realen kurzen Feldnamen?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
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: FoxCdx und Feldnamenlängen

Beitrag von HaPe »

Hallo Jan !
Ich versteh das jetzt also so, das die dbf selber eigentlich keine langen Feldnamen kann. Aber man (ich drück das jetzt mal bildlich aus) eine Übersetzungs-dbf hat, in der die langen Feldname stehen, inkl. Verweis auf den realen kurzen Feldnamen?
Ganz genau so läuft das :D
--
Hans-Peter
Antworten