AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken fb 2.5 von utf8 umstellen zu win1252
Thema durchsuchen
Ansicht
Themen-Optionen

fb 2.5 von utf8 umstellen zu win1252

Ein Thema von Kostas · begonnen am 6. Jul 2014 · letzter Beitrag vom 7. Jul 2014
Antwort Antwort
Seite 2 von 2     12   
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 14:25

Ach ja, mit normalisieren war nicht das Charset gemeint, sondern die Tabellenstruktur,
also die vielen Spalten auf mehrere Tabellen aufteilen und Gleiches zusammenzufassen. ....
Das ist klar, genau das habe ich bereits umgesetzt. Zusätzlich habe ich die Felder einfach gekürzt und konnte testweise die Tabellen anlegen.

Warum willst du denn an dieser Stelle rumschrauben? ....
Das Problem ist, Firebird hat eine Recordlängenbeschrenkung. Ich habe versucht die Tabelle 1:1 mit allen String Feldern varchar(255)
anzulegen und hab eine Fehlermeldung bekommen das der Record mit einer Länge von 73638 zu lange sei. Das hat sicherlich mit utf8 zu tun.

Ich habe jetzt meine DB bei utf8 belassen und die Felder entsprechend gekürzt. Eine gewisses Restrisiko ist dennoch da da ich nicht
zuverlässig sagen kann was ich für Daten bekommen werde. Bei Felder wie PLZ habe ich einfach varchar(10) gemacht und nicht varchar(255)
bei NAMEAUFTRAGGEBER varchar(100) anstelle varchar(255) sollte reichen.
Um diese Gefahr einzudämmen, prüfe ich die Datenlänge mit der entsprechenden Feldlänge.


Gruß Kostas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 14:34
Oder nimm TextBlobs ( wie schon vorgeschlagen) dann kann jedes Feld bis zu 32KB groß sein und trotzdem wie ein (Var)Char-Feld angessprochen werden.
Markus Kinzler
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 14:44
Irgendwie stellen sich mit die Nackenhaare bei dem Gedanken in einer Tabelle 76 Memofelder zu haben
Bedingt durch FB1.5 Erfahrungen meide ich Memofelder so gut wie es geht. Zu Anfangszeit von FB1.5 gab es
massive Probleme mit Memos. Vermutlich gibt es jetzt keine Probleme damit.

Gruß Kostas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 14:45
Nein, bis zu einer Größe von 32KB kann man diese wie VarChar-Felder durchsuchen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#15

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 20:43
habe ich das richtig verstanden:
Die DB öffnen, Extract Metadate, Alle Meta Objekte, alle Tabellen, unter Optionen Extract Blobs, jetzt das script ausführen.
Es wird ein script mit Metadaten und Daten generiert. Das neue script öffnen, in allen Metadata die Vorkommnissen UTF8 durch WIN1252
ersetzen und das Script ausführen. Alle Felder incl, Memo werden von UTF8 in WIN1252 konvertiert.
Wenn die DB zu groß ist, müsste ich die Metadaten ohne Daten exportieren und die Daten separat exportieren. Würde das funktionieren?
Wenn deine daten kompatibel sind, dann wir das genau so gehen. Du must ein format auswählen,bei dem auch blobs unterstützt werden
(am besten seperate files oder file) und bei den optionen alles sinnvolle einstellen
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.058 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: fb 2.5 von utf8 umstellen zu win1252

  Alt 7. Jul 2014, 21:02
Danke Holger,

werde ich nochmals ausprobieren. Mein erster schneller Test hat nicht funktioniert.
Auf dem ersten Blick funktionierte es so- ob es richtig weis ich nicht:
Metadata Extract, Alle Metadaten, alle Daten, Blobs exportieren. Jetzt sehe ich das IBEBlock
script und ersetze Names=UTF8 in Names=WIN1252.
Das IBEBlock wird nun ausgeführt. Jetzt öffne ich das Script welches Metadaten und Daten enthält
und ersetze alle Vorkommnisse UTF8 durch WIN1252. Danach lasse ich auch dieses Script laufen.
Auf den ersten Blick ist die DB umgestellt und alle Feldinhalte sind sauber konvertiert.

Für meine Fall ist das nicht mehr notwendig da ich die Felder gekürzt habe und die DB ist bei UTF8 geblieben.
Dennoch ist es schön zu wissen wie es mit IBExpert funktioniert.

Danke Holger.
Dir noch eine schöne Zeit.

Gruß Kostas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz