Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Batchmove und Decimal = Error ? (https://www.delphipraxis.net/108770-batchmove-und-decimal-%3D-error.html)

DataCool 19. Feb 2008 11:23

Datenbank: Firebird • Version: 1.0.0.794 • Zugriff über: BDE

Batchmove und Decimal = Error ?
 
Hi Leute,

ich habe zwei Datenbanken eine Client DB und eine Master-DB,
die Client soll in die Master-DB "integriert" werden,
dieses mache ich via Batchmove.

Bisher hat immer alles einwandfrei funktioniert,
da habe ich aber auch für Kommazahlen Double Precision benutzt.
Jetzt habe ich drei neue Felder mit Decimal(9,2) eingeführt.
Die Felder und Programme laufen/arbeiten auch alle sauber,
aber nach dem Batchmove von Client to Master steht dann in der
Master-DB z.B. 6190 anstatt 6190,56.
Alle Werte werden einfach hinterm Komma abgeschnitten, aber nur bei den Decimal Felder ?!

Jemand ne Ahnung warum bzw. wie dieses Verhalten zu beheben ist ?

Klar zur Not stell ich die neuen Felder auf Doube Precision um,
dann sollte eigentlich alles wieder gehen,
hätte aber lieber ne Lösung für das obrige Problem.
Zumindest den Grund/Ursache würde ichgerne wissen.

Für Ihre Hilfe vielen DAnk im vorraus,

Gruß Data

mkinzler 19. Feb 2008 11:28

Re: Batchmove und Decimal = Error ?
 
-Wie ist das Verhalten beu Numeric ?
-ich sag jetzt nichts zu FB und BDE
-warum verwendest du nicht SQL für den Abgleich?

DataCool 19. Feb 2008 11:39

Re: Batchmove und Decimal = Error ?
 
Hi,

- mit Numeric habe ich das ganze noch nicht getestet,
aber Decimal(9,2) sollte doch die richtige Wahl sein
für Werte mit genau 2 Kommastellen(Währung) ?!

- FB + BDE <<- 8 Jahre altes Projekt immer gewachsen .... und Kunde kommt immer nur mit Neuerungen,
das kaum Zeit für Pflege/Optimierung ist.

- Warum Batchmove und nicht SQL, ehrlich gesagt weil ich damals einfach faul war, mir darüber Gedanken zu machen wie man das ganze vernüftig via SQL machen könnte und bisher habe ich mir immer gesagt "Never touch a running system" ;-)
Hast Du da den einen vernüftigen Ansatz einen DB Abgleich via SQL zu machen ?

Gruß Data

mkinzler 19. Feb 2008 11:42

Re: Batchmove und Decimal = Error ?
 
Versuch mal Numeric(9,2)
http://ibphoenix.com/main.nfs?a=ibph...ibp_repl_tools

DataCool 19. Feb 2008 11:49

Re: Batchmove und Decimal = Error ?
 
Hi,

die Tools kann ich leider ned nutzen,
weil die Client-Software in ca. 120 verschiedenen Orten läuft,
ich muss das ganze via Update und SQL umändern.

Werde das ganze aber erstmal eben lokal testen.

Aber Decimal wäre normalerweise die richtige Wahl zum speichern
eines Geld Betrags oder ?

GRuß Data

mkinzler 19. Feb 2008 11:53

Re: Batchmove und Decimal = Error ?
 
Grundsätzlich ja, aber auch Numeric würde gehen.

DataCool 19. Feb 2008 12:04

Re: Batchmove und Decimal = Error ?
 
So,

habs gerade mit Numeric(9,2) getestet!
Leider genau das gleiche Verhalten wie bei Decimal(9,2).

und nun ?

Gruß Data

mkinzler 19. Feb 2008 12:06

Re: Batchmove und Decimal = Error ?
 
Also scheint das Problem die BDE zu sein.

DataCool 19. Feb 2008 12:45

Re: Batchmove und Decimal = Error ?
 
Hi,

das Problem ist das bei Numeric und Decimal die BDE die Spalte vom Typ her
als ftInteger erkennt.

Gruß Data

mkinzler 19. Feb 2008 12:46

Re: Batchmove und Decimal = Error ?
 
Dann versuch das mal den Feldtyp per Hand zu korrigieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz