Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Interbase 2007 auf UTF8 umstellen (https://www.delphipraxis.net/119928-interbase-2007-auf-utf8-umstellen.html)

chaosben 3. Sep 2008 10:52

Datenbank: Interbase • Version: 2007 • Zugriff über: FIB

Interbase 2007 auf UTF8 umstellen
 
Hi!

Ich weiß das das hier kein Interbase-Support-Forum ist. Aber da hier viel Interbase-Erfahrung versammelt ist, stell ich euch mal die Frage:

Wir haben hier eine Interbase 2007 DB (schön designt mit Domains) und müssten nun alle Varchar Felder von ISO8859_1 auf UTF8 umstellen.
Gibt es denn einen einfachen Weg oder muss man den schweren Weg (Abhängigkeiten lösen, Charset ändern, Abhängigkeiten wiederherstellen) gehen?
Kennt ihr einen Trick?

Vielen Dank für eure Hilfe.

mkinzler 3. Sep 2008 10:55

Re: Interbase 2007 auf UTF8 umstellen
 
Im Notfall Datenbank in Skript exportieren und Domains in Skript ersetzen

chaosben 3. Sep 2008 11:05

Re: Interbase 2007 auf UTF8 umstellen
 
Zitat:

Zitat von mkinzler
Im Notfall

:-)
Danke für die Antwort. Das Problem sind nur die Daten (Blobs) und die Größe (32GB)

mkinzler 3. Sep 2008 11:08

Re: Interbase 2007 auf UTF8 umstellen
 
Man könnte auch Versuchen die System-Trigger zu deaktivieren und dann hoffen, dass es danach noch funktioniert.

chaosben 3. Sep 2008 11:30

Re: Interbase 2007 auf UTF8 umstellen
 
Das ist auch ne Idee. Werd ich dann auf meiner Spielwiese mal probieren. Danke.

alex517 4. Sep 2008 12:24

Re: Interbase 2007 auf UTF8 umstellen
 
Nur als Hinweis, auch wenn du den Zeichensatz in der Definition des Feldes änderst,
ändert sich nichts an den im Feld bereits vorhandenen Daten.

alex

chaosben 4. Sep 2008 12:56

Re: Interbase 2007 auf UTF8 umstellen
 
Ja, aber beim Restore sollten die Daten dann doch richtig drinstehen, oder?

chaosben 15. Sep 2008 11:15

Re: Interbase 2007 auf UTF8 umstellen
 
Mal ne ganz dumme Frage:

Wie deaktiviert man denn die System-Trigger? :-/

Elvis 16. Sep 2008 14:44

Re: Interbase 2007 auf UTF8 umstellen
 
Zitat:

Zitat von chaosben
Ja, aber beim Restore sollten die Daten dann doch richtig drinstehen, oder?

Ich denke nicht. GBak wird sie wohl so reinscheiben, wie sie drin standen...

Kannst du dir nicht schnell ein Tool bauen, as die Daten in eine 2. DB überführt?
Speziell für eure DB wäre das ohl nicht aufwendig, es gibt solche Tools aber bereits, btw.

Den nutzen wir, aber das heißt nicht, dass andere schlechter sind[1]:
http://www.sqlmaestro.com/products/f...tawizard/tour/

Gibt ja auch noch den Klassiker:
http://www.clevercomponents.com/prod...mp/dp-tour.asp

EMS hat da auch was. wahrscheinlich genauso maßlos überteuert wie der Rest von denen... :mrgreen:


[1]Wir nutzen halt bereits deren FB IDE, Maestro, anstatt IBExpert :-)

chaosben 17. Sep 2008 10:28

Re: Interbase 2007 auf UTF8 umstellen
 
Ein Tool schreiben, das die Daten pumpt ist nicht das Problem. Das Problem sind die Metadaten und die Abhängigkeiten.

Nu ja, das werd ich mal probieren. Danke für die Hinweise, Links und Mühe.

Elvis 17. Sep 2008 11:42

Re: Interbase 2007 auf UTF8 umstellen
 
Zitat:

Zitat von chaosben
Ein Tool schreiben, das die Daten pumpt ist nicht das Problem. Das Problem sind die Metadaten und die Abhängigkeiten.

Easy. (Kommentare setzen geht zu jedem Zeitpunkt, da sie keine Datenabhängigkeit haben)
  • Zu allererst die Domains erzeugen.
  • Dann die Tabellen ohne Keys, Generatores und Trigger. Dann die Daten reinwerfen.
  • Dann die PKs Und erst jetzt, zum Schluss, die FKs, Generatoren und Trigger.
Di meisten kommerziellen Tools werden das bereits genauso machen. ;-)

IBExpert 17. Sep 2008 19:27

Re: Interbase 2007 auf UTF8 umstellen
 
Zitat:

Zitat von chaosben
Zitat:

Zitat von mkinzler
Im Notfall

:-)
Danke für die Antwort. Das Problem sind nur die Daten (Blobs) und die Größe (32GB)

wenn es ein einmaliger vorgang ist, dannn braucht das sowieso sein zeit mit 32GB.
Technisch ist das aber kein Problem, weil zumindest IBExpert beim Metadaten Script
Export auch die Blobs in eigene separate Dateien exportiert.

Was ein wenig nervt ist dann aber das Umsetzen der Sonderzeichen in Unicode Syntax
(aber so viele sind das nicht, weil viele Zeichen aus dem ASCII Zeichensatz ja auch unter
ISO8859_1 und Unicode identisch im Script benutzt werden können, die nicht ASCII
Zeichen sehen aber anders aus (Ging aber mit Ultraedit auch recht flott).

Bis 10 GB haben wir das auf dem Wege schon gemacht

chaosben 20. Okt 2008 13:22

Re: Interbase 2007 auf UTF8 umstellen
 
Danke für die Antwort. Wir haben es jetzt erst mal abgesagt ... zu viel Aufwand. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz