Einzelnen Beitrag anzeigen

DCoderHH

Registriert seit: 4. Feb 2015
Ort: Hamburg
84 Beiträge
 
Delphi 10 Seattle Professional
 
#1

FireDAC Exception, wenn String länger als Feldlänge beim select

  Alt 24. Feb 2017, 13:13
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
Hallo,

ich frage in einer Firebird-DB mit einer TFDQuery ein VarChar-Feld (Länge 7, UTF8) wie folgt ab:

Code:
select Bezeichnung from MyTable where Code = '12345678'
Dabei wird die folgende Exception ausgelößt:
Code:
[FireDAC][Phys][FB]Dynamic SQL Error

SQL error code = -303

arithmetic exception, numeric overflow, or string truncation
string right truncation.
Das ist so, weil der String '12345678' mit 8 Zeichen Länge genau 1 Zeichen länger ist, als die Feldlänge vom Feld "Code".

Gibt es in den FireDAC-Komponenten ein Einstellung, mit der ich die Längenprüfung deaktiveren kann? Andere DB-Komponenten wie z.B. von DEVAR IBDAC haben dieses Verhalten ja z.B. auch nicht. Da der SQL-Ausdruck dynamisch erzeugt wird und viele verschiedene Felder, Tabellen, Queries genutzt werden, möche ich auch nicht im Code den String vorher auf die maximale Länge zuschneiden.
  Mit Zitat antworten Zitat