Einzelnen Beitrag anzeigen

rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
297 Beiträge
 
Delphi 10.4 Sydney
 
#1

MS SQL CHAR(300) Feld übernehmen

  Alt 25. Okt 2012, 10:27
Datenbank: MS SQL / DB2 • Version: 2008 / • Zugriff über: ODBC
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
  Mit Zitat antworten Zitat