Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbankumstellung auf Unicode (https://www.delphipraxis.net/162400-datenbankumstellung-auf-unicode.html)

spacewolf 21. Aug 2011 12:39

Datenbank: FIREBIRD • Version: 2.5 • Zugriff über: IB/Delphi

Datenbankumstellung auf Unicode
 
Moin Leute,

wie würdet Ihr einen Umstieg mit der FIREBIRD Datenbank auf UNICODE realisieren:?: :stupid:

Nutzt Ihr dann "UNICODE_FSS" als Zeichensatz :?:

Was muss bei den Delphi Komponenten berücksichtigt werden :?:

Was muss man im Code verändern?

Wie bekommt man bei allen Datenbanken die einfachste Konvertierung hin?

liebe Grüße

Andreas :stupid:

Bernhard Geyer 21. Aug 2011 14:58

AW: Datenbankumstellung auf Unicode
 
Zitat:

Zitat von spacewolf (Beitrag 1118426)
Was muss bei den Delphi Komponenten berücksichtigt werden :?:

Kommt darauf an: Delphi 7 wie im Profil oder 2009 oder neuer?

Zitat:

Zitat von spacewolf (Beitrag 1118426)
Was muss man im Code verändern?

Siehe oben: Für D2009 und neuer - Wenig
Davor: sehr viel. überalle String->Widestring ersetzen und viel Testen.

Zitat:

Zitat von spacewolf (Beitrag 1118426)
Wie bekommt man bei allen Datenbanken die einfachste Konvertierung hin?

Ab D2009 sollten alle Kompos die Konvertierung transparent machen. Davor heißt es testen und nur Widestring-API's verwenden.

chaosben 21. Aug 2011 19:58

AW: Datenbankumstellung auf Unicode
 
Denk auch dran, das mit dieser Umstellung die maximale Länge von Varchar-Felder auf ~4000 sinkt. :roll:

Bernhard Geyer 21. Aug 2011 20:04

AW: Datenbankumstellung auf Unicode
 
Zitat:

Zitat von chaosben (Beitrag 1118471)
Denk auch dran, das mit dieser Umstellung die maximale Länge von Varchar-Felder auf ~8000 sinkt. :roll:

Laut Doku 4000 Zeichen. Hat man hier eine ähnliche Begrenzung wie beim MS SQL Server eingebaut?

spacewolf 22. Aug 2011 18:06

AW: Datenbankumstellung auf Unicode
 
Also einfach mit Delphi 2009 - neuen Zeichensatz Unicode verwenden und fertig? :shock: :lol:

mkinzler 22. Aug 2011 20:50

AW: Datenbankumstellung auf Unicode
 
Bei langen Textfeldern würde ich aber einen Textblob verwenden, zudem man auf diese ab FB2.5 wie ein VARCHAR zugreifen kann, wenn die Länge kürzer als 32k (16000 Zeichen) ist.

Bernhard Geyer 22. Aug 2011 22:14

AW: Datenbankumstellung auf Unicode
 
Zitat:

Zitat von spacewolf (Beitrag 1118674)
Also einfach mit Delphi 2009 - neuen Zeichensatz Unicode verwenden und fertig? :shock: :lol:

Nicht ganz, aber auf jedenfall merklich einfacher.

ehX 23. Aug 2011 00:50

AW: Datenbankumstellung auf Unicode
 
Zitat:

Laut Doku 4000 Zeichen. Hat man hier eine ähnliche Begrenzung wie beim MS SQL Server eingebaut?
Ein VARCHAR hat in Firebird eine maximale Grösse von 32k. Daraus ergibt sich die Begrenzung.
Für grössere Texte gibt es ja noch den BLOB SUB_TYPE TEXT
(das ist in etwa das TEXT-Feld in mySQL, in Firebird gibt es dieses aber nicht in verschiedenen, vordefinierten Max-Grössen wie SMALLTEXT, TEXT, MEDIUMTEXT etc., sondern nur den SUB_TYPE TEXT für einen BLOB und dieser ist auch dynamisch wachsend bis AFAIK ca. 1,2 Milliarden Unicode-Zeichen)

Zitat:

Nutzt Ihr dann "UNICODE_FSS" als Zeichensatz
Nein, der ist deprecated und nicht ganz "sauber" (bezüglich wohlgeformtheit, neuestem Unicode-Standard, Collations etc.).
Für Firebird 2.x nimmst du am Besten "UTF8" als Character Set für die Zusammenarbeit mit Delphi (und sonst eigentlich auch, ausser du brauchst kein Unicode und musst Speicherplatz sparen).

ibp 23. Aug 2011 07:09

AW: Datenbankumstellung auf Unicode
 
da war doch gerade erst ein Artikel von IBExpert....

IBExpert News 12th August 2011 UTF8 database conversion using IBExpert


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:09 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