Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Fehler in Version 4.0.4: YEAR-Heater / Typkonvert.

Fehler in Version 4.0.4: YEAR-Heater / Typkonvert. 4 Monate 2 Wochen her #2765

  • Bloess
  • Bloesss Avatar
  • Offline
  • New Member
  • Beiträge: 1
Ich meine zwei kleine Bugs in der Version 4.0.4 gefunden zu haben:

- Der YEAR -Heater macht aus der Eingabe "01.06.2016" den Wert "2.016"

- Soll ein String der eine reine Zahl enthält, in ein INT Feld eines SQL-Adapters geschrieben werden, ergibt dies einen Fehler : "Arithmetischer Überlauffehler beim Konvertieren von expression in den int-Datentyp". Ist das ein Fehler oder kann man keine implizite Umwandlung von String -> Zahl ausführen auch wenn der Inhalt des Strings eine Zahl ist?
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Fehler in Version 4.0.4: YEAR-Heater / Typkonvert. 4 Monate 2 Wochen her #2768

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1099
Hallo Herr Bloess,

bei ersterem kann ich Sie beruhigen, der FlowHeater tut genau das was er soll :) Bei Ihrem zweiten Problem denke ich dass das am verwendeten Datentypen in der SQL Server Tabelle liegt.

Problem 1) Der FlowHeater führt eine automatische Typkonvertierung durch! In Ihrem Fall extrahiert der YEAR Heater die Jahreszahl vom übergebenen Datum, die Rückgabe davon ist vom FlowHeater DatentypINT“ (Ganzzahl). Hier wird erstmal nur der Wert, ohne weitere Formatierung gespeichert. Wenn Sie nun diesen Wert einem Feld vom Typ „STRING“ (Zeichenketten) oder aber einem Heater der eine Zeichenkette verarbeitet zuweisen erfolgt eine automatische Typkonvertierung in diesem Datentypen, INT (Ganzzahl) wird zu STRING (Zeichenfolge). Für das Format verwendet der FlowHeater Standardmäßig die im ersten WRITE Adapter gemachten Vorgaben. Hier steht vermutlich auf dem Reiter „Format“, dass Sie Ganzzahlen mit einem Tausenderpunkt formatiert ausgeben möchten, daher kommt die Formatierung. Um Zahlen generell ohne Tausendpunkt formatiert auszugeben würde es ausreichen hier bei Tausendertrenner den Wert „(ohne)“ anzugeben.

Im Anhang finden Sie ein kleines Beispiel wie Sie die Rückgabe des Year Heater bzw. eine Ganzzahl formatiert als Zeichenfolge (STRING) ausgeben können. Ein etwas ausführlicheres Beispiel mit weiteren Erklärungen finden Sie hier: Zahlen in Zeichenketten formatieren


Problem 2) Hier denke ich, dass das Problem am in der Tabelle für das Feld verwendeten SQL Server Datentypen liegt! Bitte prüfen Sie mal in der Tabelle am SQL Server welcher Datentyp verwendet wurde. Achtung: Es geht nicht um den in der Definition verwendeten FlowHeater Datentyp!
Ich vermute jetzt das Feld ist vom SQL Server Datentyp tinyint bzw. smallint? Das Problem hier ist der max. Wertebereich der in so einem Feld gespeichert werden kann.

SQL Server Datentyp tinyint = 0 bis 255
SQL Server Datentyp smallint = -32.768 bis +32.767


Wenn Sie so einem Feld eine größere Zahl zuweisen quittiert der SQL Server das mit der Fehlermeldung „Arithmetischer Überlauffehler …“.

Hinweis. Der FlowHeater prüft derzeit Wertebereiche von Zahlendatentypen nicht, überlässt diese Prüfung dem SQL Server und zeigt im Fehlerfall nur die vom SQL Server generierte Fehlermeldung an. Diese Prüfung steht auf der TODO Liste.

Sollte es daran liegen würde es ausreichen wenn Sie den verwendeten Datentyp auf einen größeren Zahlendatentyp ändern, z.B. über das „Microsoft SQL Server Management Studio“.



Dateianhang:

Dateiname: zahlen-for...eben.zip
Dateigröße:2 KB
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 4 Monate 2 Wochen her von FlowHeater-Team.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.079 Sekunden