Einzelnen Beitrag anzeigen

ZOD

Registriert seit: 6. Mai 2009
97 Beiträge
 
#14

AW: Incompatilbe column/host variable data type

  Alt 9. Nov 2017, 11:09
letzten Beitrag gelesen - weitergemacht:

weitere Tests haben ergeben, dass das Problem entsteht, wenn der Wert ein char bzw. varchar ist.

Wird in der where-Klausel der Vergleichswert per
Code:
cast()
übergeben, klappt es.

Also das
Code:
select
'Test'
from rdb$database
where
:parameter = cast('*' as varchar(8191))
Liefert als Ergebnis
'Test'

Während das
Code:
select
'Test'
from rdb$database
where
:parameter = '*'
Bei einem Parameterwert mit Länge größer 1 (z.B. 'axf') den Fehler

Code:
Incompatilbe column/host variable data type.
Dynamic SQL Error.
SQL error code = -303
arithmetic exception, numeric overflow or string truncation.
string right truncation.
liefert. Offenbar wird der Datentyp des Parameters anhand der Bedingung in der where-Klausel definiert.
  Mit Zitat antworten Zitat