Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.280 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Firebird DB von 2.x nach 2.5 ohne character_set und collate

  Alt 27. Apr 2011, 09:31
was du aber damit meinst weiß ich nicht, das passiert zumindest in der aktuellen version eigentlich nicht (zumindest nicht in meinem Test gerade).
OK, Fehler von mir. Das collate steht tatsächlich in den Felddefinitionen.
Ich habe da wohl etwas geträumt.

Folgendes bezieht sich auf IBExpert und die Editoren (Domaineditor, Tabelleneditor).
Der Code ist der, den IBExpert vor dem Commit anzeigt:

Domain anlegen
Code:
CREATE DOMAIN D_VARCHAR_100 AS
VARCHAR(10) CHARACTER SET ISO8859_1
COLLATE DE_DE
Tabelle mit Feld
Code:
...
ALTER TABLE T_TEST
ADD BEZEICHNUNG D_VARCHAR_100
COLLATE DE_DE
Hier wird COLLATE DE_DE noch mal an die Felddefinition angehangen, obwohl das ja durch die Domain bereits festgelegt ist.
Das hätte ich jetzt anders erwartet. Aber vielleicht habe ich ja noch einen Denkfehler.
Das bedeudet, das das Extrahieren der Metadaten fehlerfrei arbeitet. Beim Erzeugen der Felder würde ich sagen, gehört das COLLATE DE_DE nicht hin.
[EDIT]
So, jetzt habe ich noch mal einige Tests gemacht.
Wenn man mit einem Tool wie IBExpert fast jeden Tag arbeitet, stellt sich dann schon mnal gewisse Blindheit ein.
Das Problem mit den collate in den Feldern entsteht dadurch, dass IBExpert die Collation aus der Domain beim Anlegen eines Feldes prinzipiell vorträgt. Man muss es dann halt bei jedem Anlegen eines CHAR/VARCHAR Feldes den Text aus dem Feld SOrtierung rauslöschen.
Ich hoffe, das Holger das Verhalten anpasst.[/EDIT]
Du kannst nachträglich den default character set in der Firebird db entfernen, in dem du einfach in der rdb$database das feld rdb$character_set auf Null setzt, dann werden beim extract metadata nicht nur collations, sondern auch immer character sets ausgegeben. Das liesse sich dann ggf leichter per suchen/ersetzen umstellen.
Das geht dann in der Tat einfacher.
Vielen Dank

Frank

[EDIT]
Frank Reim

Geändert von dataspider (27. Apr 2011 um 13:59 Uhr)
  Mit Zitat antworten Zitat