Hallo Leute,
ich benutze die IBConsole 1.0.0.338 und bekomme jedesmal folgende Fehlermeldung:
Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('GB', 'Großbritannien', 'GBP')
Dieser Fehler tritt in der folgenden SQL-Anweisung nur bei deutschen Umlauten auf.
Nachfolgend nun die SQL:
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE DATABASE 'C:\Carsten\Vertrag\ORT.gdb' PAGE_SIZE 4096
USER "TEST" PASSWORD "test"
DEFAULT CHARACTER SET ISO8859_1;
CREATE DOMAIN TSTR2 AS VARCHAR(2) COLLATE DE_DE;
CREATE DOMAIN TSTR3 AS VARCHAR(3) COLLATE DE_DE;
CREATE DOMAIN TSTR24 AS VARCHAR(24) NOT NULL collate DE_DE;
CREATE TABLE isoccy
(
ISOCCY TSTR3 NOT NULL,
ISOCCYNAME TSTR24 UNIQUE,
CONSTRAINT PK_isoccy PRIMARY KEY (ISOCCY)
);
CREATE TABLE land
(
LAND TSTR2 NOT NULL,
LANDNAME TSTR24 UNIQUE,
ISOCCY TSTR3 NOT NULL,
CONSTRAINT PK_land PRIMARY KEY (LAND),
CONSTRAINT FK_isoccy FOREIGN KEY (ISOCCY) REFERENCES ISOCCY (ISOCCY)
);
CREATE TABLE ort
(
ORT TSTR3 NOT NULL,
LAND TSTR2 NOT NULL,
ORTSNAME TSTR24 UNIQUE,
CONSTRAINT PK_ort PRIMARY KEY (ORT),
CONSTRAINT FK_ort FOREIGN KEY (LAND) REFERENCES land (LAND)
);
/* Stammdaten initialisieren */
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('CHF', 'Schweizer Franken');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('EUR', 'Euro');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('GBP', 'Britisches Pfund');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('JPY', 'Japanische Yen');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('USD', 'US-Dollar');
COMMIT WORK;
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('CH', 'Schweiz', 'CHF');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('DE', 'Deutschland', 'EUR');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('GB', 'Großbritannien', 'GBP');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('JP', 'Japan', 'JPY');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('US', 'USA', 'USD');
COMMIT WORK;
INSERT INTO ort (ORT, LAND, ORTSNAME) VALUES ('D', 'DE', 'Duesseldorf');
INSERT INTO ort (ORT, LAND, ORTSNAME) VALUES ('F', 'DE', 'Frankfurt');
COMMIT WORK;
ich benutze die IBConsole 1.0.0.338 und bekomme jedesmal folgende Fehlermeldung:
Arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
Statement: INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('GB', 'Großbritannien', 'GBP')
Dieser Fehler tritt in der folgenden SQL-Anweisung nur bei deutschen Umlauten auf.
Nachfolgend nun die SQL:
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE DATABASE 'C:\Carsten\Vertrag\ORT.gdb' PAGE_SIZE 4096
USER "TEST" PASSWORD "test"
DEFAULT CHARACTER SET ISO8859_1;
CREATE DOMAIN TSTR2 AS VARCHAR(2) COLLATE DE_DE;
CREATE DOMAIN TSTR3 AS VARCHAR(3) COLLATE DE_DE;
CREATE DOMAIN TSTR24 AS VARCHAR(24) NOT NULL collate DE_DE;
CREATE TABLE isoccy
(
ISOCCY TSTR3 NOT NULL,
ISOCCYNAME TSTR24 UNIQUE,
CONSTRAINT PK_isoccy PRIMARY KEY (ISOCCY)
);
CREATE TABLE land
(
LAND TSTR2 NOT NULL,
LANDNAME TSTR24 UNIQUE,
ISOCCY TSTR3 NOT NULL,
CONSTRAINT PK_land PRIMARY KEY (LAND),
CONSTRAINT FK_isoccy FOREIGN KEY (ISOCCY) REFERENCES ISOCCY (ISOCCY)
);
CREATE TABLE ort
(
ORT TSTR3 NOT NULL,
LAND TSTR2 NOT NULL,
ORTSNAME TSTR24 UNIQUE,
CONSTRAINT PK_ort PRIMARY KEY (ORT),
CONSTRAINT FK_ort FOREIGN KEY (LAND) REFERENCES land (LAND)
);
/* Stammdaten initialisieren */
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('CHF', 'Schweizer Franken');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('EUR', 'Euro');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('GBP', 'Britisches Pfund');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('JPY', 'Japanische Yen');
INSERT INTO isoccy (ISOCCY, ISOCCYNAME) VALUES ('USD', 'US-Dollar');
COMMIT WORK;
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('CH', 'Schweiz', 'CHF');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('DE', 'Deutschland', 'EUR');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('GB', 'Großbritannien', 'GBP');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('JP', 'Japan', 'JPY');
INSERT INTO land (LAND, LANDNAME, ISOCCY) VALUES ('US', 'USA', 'USD');
COMMIT WORK;
INSERT INTO ort (ORT, LAND, ORTSNAME) VALUES ('D', 'DE', 'Duesseldorf');
INSERT INTO ort (ORT, LAND, ORTSNAME) VALUES ('F', 'DE', 'Frankfurt');
COMMIT WORK;
Comment