Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#1

[Firebird] TEXT Feld füllen?

  Alt 11. Apr 2008, 21:37
Datenbank: Firebird • Version: 2.0.3 • Zugriff über: ZEOS
Grüße,

ich expermentiere grad mit Firebird rum, um zu schauen, wie unsere Anwendung damit - statt Advantage - läuft. Klappt auch alles ganz gut soweit, nur habe ich mich grad mit einem Problem verstrickt, wo ich nicht so recht weiterkomme.

Ich habe eine Tabelle mit einem TEXT/NCHAR Feld.
SQL-Code:
CREATE TABLE Clients (
  Id INTEGER NOT NULL,
  Title VARCHAR(64),
  LastName VARCHAR(128) NOT NULL,
  FirstName VARCHAR(128),
  Address NCHAR,
  UseBirthData SMALLINT,
  BirthDateTime TIMESTAMP,
  BirthPlace VARCHAR(128),
  BirthCountry VARCHAR(128),
  Gender SMALLINT,
  UseManualGeoData SMALLINT,
  Longitude FLOAT,
  Latitude FLOAT,
  Zone TIMESTAMP,
  DST TIMESTAMP,
  ImageFile VARCHAR(128),
  IsActive SMALLINT,
  PRIMARY KEY (Id)
);
CREATE GENERATOR Clients_Id_Gen;
CREATE INDEX ClientsOrdinary ON Clients (LastName);
Wenn ich per Query nun einen Eintrag hinzufügen will...
SQL-Code:
INSERT INTO CLIENTS (TITLE, LASTNAME, FIRSTNAME, ADDRESS, USEBIRTHDATA, BIRTHDATETIME, BIRTHPLACE, BIRTHCOUNTRY, GENDER, USEMANUALGEODATA, LONGITUDE, LATITUDE, ZONE, DST, IMAGEFILE, ISACTIVE)
VALUES ('Herr', 'Mustermann', 'Max', 'Irgendnestrasse 12, 12345 Irgendwo', 0, NULL, NULL, NULL, 0, 0, 13.7777, 15.2, '12/30/1899 01:00:00', '12/30/1899 01:00:00', NULL, 1)
... erhalte ich folgende Fehlermeldung:
Zitat:
arithmetic exception, numeric overflow, or string truncation
Arithmetic overflow or division by zero has occurred.
Reduziere ich den Inhalt des Adressfeldes auf ein Zeichen ('Irgendnestrasse 12, 12345 Irgendwo' -> 'I') klappt es. Auch im ZDE (ZEOS Database Explorer) kann ich in dieses Feld nur ein Zeichen eintragen. Wenn ich mir die Spalteneigenschaften anschaue, steht da auch Typ: TEXT, Länge: 1.

Ist das TEXT/NCHAR-Feld nicht äquivalent mit dem MEMO-Typ? Wie kann ich da ein Textfeld abspeichern? Per BLOB?
  Mit Zitat antworten Zitat