Guten Morgen alle zusammen!
In einer IBM DB2 ist ein Char - Feld in der Länge von 300 Zeichen definiert worden. Dieses Feld wird durch Progs auf einer System I mit Ziffern (und in seltenen Fällen am Ende mit Buchstaben) gefüllt.
Daneben gibt es eine MS
SQL Datenbank, in der ebenfalls ein Feld in der Länge CHAR(300) definiert ist.
Nun muss ich dieses Feld von der DB2 in die MS
SQL bringen! Dazu wollte ich:
Delphi-Quellcode:
qryIns := 'INSERT tblMS (chrFeld300) VALUES (' + qryDB2.FieldByName('FELD300').AsVariant + ')';
qryIns.ExecSQL;
die Übertragung machen. Delphi XE2 interpretiert das Ganze aber immer als numerischen Wert, sagt mir, dass die Zahl zulang ist und wirft folgende
Exception:
Delphi-Quellcode:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Barg_Info.exe ist eine
Exception der Klasse EDBEngineError mit der Meldung '
Allgemeiner SQL-Fehler
[Microsoft][ODBC SQL Server Driver][SQL Server]The number
'010014422006620121026000000045135066105329500006000010012000000010605965670'
is out of the range for numeric representation
(maximum precision 38).
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'Front'
.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Hat jemand eine Idee, wie ich das bewerstelligen kann?
Danke und viele Grüße
Rolf
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS
SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney