Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

BLOB SUB_TYPE TEXT nimmt nicht mehr als 255 Zeichen

  Alt 18. Jul 2006, 21:53
Datenbank: Firebird • Version: 1.5.2.4731 • Zugriff über: IBX
Hallo,
seit mehreren Jahren verwende ich erfolgreich folgende Domian:
CREATE DOMAIN "TTEXTBLOB" AS BLOB SUB_TYPE TEXT SEGMENT SIZE 80 CHARACTER SET ISO8859_1; Ebenfalls verwende ich seit mehreren Jahren sehr erfolgreich Excel als Tabellenpflegeprogramm.
D.h. ich editiere die Datensätze in einer Exceltabelle und tausche anschließend die komplette
Tabelle in der Datenbank aus. Da es sich um max 4.000 bis 5.000 Datensätze handelt ist das eigentlich
auch kein Problem.

Jetzt kommt's:
Wenn in einer Excelzelle mehr als 250 Zeichen stehen verwende ich als o.g. Domain.
Das klappt hervorragend.

Heute stellte sich heraus das in einer Tabelle folgende Domain nicht meher ausreicht.
CREATE DOMAIN "TSTRING250" AS VARCHAR(250) CHARACTER SET ISO8859_1 COLLATE DE_DE; Dehalb habe ich mit diesem Script aus dem Feld "FORMEL" ein TTextBlob gemacht:
SQL-Code:
ALTER TABLE PNK ADD FORMEL_TMP TSTRING250 COLLATE de_de;
UPDATE pnk SET FORMEL_TMP=FORMEL;
ALTER TABLE PNK DROP FORMEL;
ALTER TABLE PNK ADD FORMEL TTEXTBLOB;
UPDATE pnk SET FORMEL=FORMEL_TMP;
ALTER TABLE PNK DROP FORMEL_TMP;
COMMIT;
Dummerweise werden jetzt aber nur 255 in das Feld geschrieben (oder aus der Excelzelle gelesen).
Wenn ich das Feld manuell in der IBOConsole editiere werden mehr als 255 übernommen.

Es scheint also so zu sein, dass wenn ich das Feld in der Tabelle von Anfang an als TTextBlob anlege mehr
als 255 Zeichen aus der Excelzelle gelesen werden und wenn ich es mit o.g. Script erzeuge nur 255 Zeichen.

Kann das sein? Wenn ja - warum

Ein Backup / Restore hat nichts geändert.
I come from outer space to save the human race
  Mit Zitat antworten Zitat