Hallo zusammen
in meiner Anwendung besteht die Möglichkeit Daten mit verschiedenen
Computer manuell abzugleichen. Dies funktioniert auch einwandfrei.
Neu ist die Datenbank erweitert worden und nun bestehen Probleme Daten die von der "alten"
DB sind in die neue zu integrieren.
Der Import erfolgt so:
> z.B. anstelle von
alt: ( Q_TEST ist in neu nicht vorhanden )
Code:
sql_string_table := ( 'INSERT INTO HOTEL ( ID, C_NO, CITY, TEL, FAX, EMAIL, HOMEPAGE, Q_TEST )' +
'values ( :ID, :C_NO, :CITY, :TEL, :FAX, :EMAIL, :HOMEPAGE, :Q_TEST )');
//
neu: ( zusätzlich sind die Felder POS_LAT, POS_LNG )
Code:
sql_string_table := ( 'INSERT INTO HOTEL ( ID, C_NO, CITY, POS_LAT, POS_LNG, TEL, FAX, EMAIL, HOMEPAGE )' +
'values ( :ID, :C_NO, :CITY, :POS_LAT, :POS_LNG, :TEL, :FAX, :EMAIL, :HOMEPAGE )');
danach ( ein Auszug )
Delphi-Quellcode:
with Q_import
do
begin
Close;
SQL.Text :=( sql_string_table );
BatchInputRawFile(db_dir + '
exchange\'+ file_name + '
.fibplus');
frm_import_export.log_window_1.Lines.Add('
*** Import ***');
frm_import_export.log_window_1.Lines.Add(db_dir + '
exchange\');
frm_import_export.log_window_1.Lines.Add(file_name + '
.fibplus');
Close;
frm_import_export.ProgressBar_imp_exp.Position := 30;
if sql_string_table_d > '
'
then
begin
SQL.Text :=( sql_string_table_d );
BatchInputRawFile(db_dir + '
exchange\'+ file_name +'
_d.fibplus');
frm_import_export.log_window_1.Lines.Add(file_name + '
_d.fibplus');
Close;
end;
frm_import_export.ProgressBar_imp_exp.Position := 60;
Die Fehlermeldung schlussendlich ist folgende:
Zitat:
First chance
exception at $7555B727.
Exception class EFIBInterBaseError with message 'DM.Q_import:
Arithmetic overflow or division by zero has occurred.Arithmetic
exception, numeric overflow, or string truncation.
Bin für Tipps dankbar
Manfred