Entwickler-Ecke
Datenbanken - SQL Insert Statment
landwehr - Mo 09.04.12 17:08
Titel: SQL Insert Statment
Hallo
habe folgendes Problem:
ich möchte mit folgen Scipt Daten in eine Tabelle schreiben:
Hier ein Auszug des Scipts:
Delphi-Quelltext
1: 2: 3: 4: 5:
| INSERT INTO TBL_LOOKUP (TYP,WERT) VALUES ('Beruf','Agrarbiologe/-biologin (Uni)'); INSERT INTO TBL_LOOKUP (TYP,WERT) VALUES ('Beruf','Agrarinformatiker/in'); INSERT INTO TBL_LOOKUP (TYP,WERT) VALUES ('Beruf','Agraringenieur/in (FS) - Landwirt. Pflanzenprodukt.'); INSERT INTO TBL_LOOKUP (TYP,WERT) VALUES ('Beruf','Agraringenieur/in (FS) - Landwirt. Tierproduktion'); INSERT INTO TBL_LOOKUP (TYP,WERT) VALUES ('Beruf','Agraringenieur/in (FS) - Landwirt. Versuchsw.(Pflanzenprod.)'); |
Alle Daten werden ohne Fehlermeldung in die Datenbank geschrieben.
Beim lesen des 3 Datensatzes kommt folgende Fehlermeldung:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
string right truncation.
In allen Insert Statment wo im Feld WERT Klammern beinhalten, kommt diese Meldung.
Datenbank Firebird 2.5.
Was mache ich falsch?
Wer hat einen Rat.
Walter
Moderiert von
Narses: Delphi-Tags hinzugefügt
Delete - Di 10.04.12 01:12
Also in Zeile 1 stehen auch Klammern im String. Im String kann alles mögliche stehen, es darf den reibungslosen Ablauf eines Insertbefehls nicht beeinflussen.
landwehr hat folgendes geschrieben : |
Beim lesen des 3 Datensatzes kommt folgende Fehlermeldung:
Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
string right truncation. |
String Truncation heißt, daß der SQL-Server beim Einfügen etliche Stellen vom String abschneidet: String Right Truncation weist darauf hin, daß sie rechts abgeschnitten werden, also nur der Anfang des Strings in der Spalte steht. Das wiederum weist darauf hin, daß die eingestellte Länge für den VARCHAR-Typ zu gering ist oder der CHAR-Typ gewählt wurde.
Moderiert von
Martok: Zitat repariert
Lemmy - Di 10.04.12 05:50
Guten Morgen,
wie werden die Daten ausgelesen? Über ein Select * oder eine StoredProcedure? stimmen die Charset-Einstellungen der Datenbank, IBExpert und der Spalten so weit überein?
Grüße
landwehr - Mi 11.04.12 09:44
Hallo,
ich habe es nicht geglaubt. Als ich heute morgen das Select Statement ausgeführt habe war der Fehler verschwunden. Nun ja dann ist das Thema erledigt.
Vielen Dank.
Walter
ProggyPeter - Mi 11.04.12 11:46
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Prüfe mal Driver und Zeichensätze.
Ich glaube mich zu erinnern, dass ich bei der Umstellung auf Unicode aller VarChar Felder in der Kapazität verdoppelt habe.
Gruß Peter
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!