FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum MySQL Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: CSV Import , Nur neue Datensätze exportieren , Datenmigration
  • Seite:
  • 1

THEMA: SQL Heater liefert nicht das gewünschte Ergebnis

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 2 Wochen her #3780

  • Christoph Sauerborn
  • Christoph Sauerborns Avatar Autor
  • Offline
  • Beiträge: 3
Hallo zusammen,

folgendes Szenario: Ich habe auf der Read Seite Datenbank A mit Tabelle 'auftraege' und auf der Write Seite ebenfalls Datenbank A mit Tabelle 'auftraege' sowie Datenbank B mit Tabelle 'bkz_table_kiste'. Ich möchte Werte in Tabelle 'auftraege' updaten, sofern in Tabelle 'bkz_table_kiste passende Werte zu Einträgen aus 'auftraege' zu finden sind.

Ich habe daher einen SQL Heater aufgesetzt, der auf den Adapter von DB B gerichtet ist. Dieser fragt ab, ob zum Parameter $Material$ in Tab. B1 ein Wert in der Spalte BKZ zu finden ist.

Select BKZ  from bkz_table_kiste Where Material='$Material$' Limit 1

Sofern kein Ergebnis gefunden wird, soll der Wert 0 zurückgegeben werden.

Leider erhalte ich immer den Wert 0 zurück. Ich habe den Query bereits direkt im SQL-Server eingegeben mit entsprechenden Parametern - dort erhalte ich ein Ergebnis. Was mache ich falsch?

Besten Dank vorab für die Hilfe!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 2 Wochen her #3781

Hallo Herr Sauerborn,

Wurde der Parameter $Material$ auch mit dem Set Parameter Heater gesetzt?

Wenn ja, welcher FlowHeater Datentyp liegt dem Feld über dem der Parameter gesetzt wird zugrunde. Ist das ein numerischer Datentyp kann es sein, dass hier die automatische Datentypumwandlung die Ursache ist.

z.B. wird ein Wert über eintausend in den deutschen Standardeinstellungen als „1.000“ umgewandelt. Sollte es sich um einen Wert mit nachkommstellen handeln ggf. auch mit Nachkommastellen.

Sie können das ändern, indem Sie den Parameter über Menü->Bearbeiten->Parameter anlegen und ihm eine abweichende Formatierung zuweisen, siehe Screenshot.

Alternativ dazu könnten Sie auch den String Format Heater verwenden bevor der Parameter gesetzt wird.

Im Anhang finden Sie ein kleines Beispiel dazu.




Dateianhang:

Dateiname: parameter-format.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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 2 Wochen her #3782

  • Christoph Sauerborn
  • Christoph Sauerborns Avatar Autor
  • Offline
  • Beiträge: 3
Hallo Herr Stark,

das war schon sehr hilfreich. Mir war nicht klar, dass ich den Parameter konkret Setten muss, ich hatte anderen Foren-Beiträge so verstanden, dass es ausreicht, wenn ein solcher Parameter als Feldname in einem der Adapter hinterlegt ist.

Zumindest erhalte ich nun Ergebnisse, mit der Ausnahme, dass die Werte, die ich aus der SQL erhalte, ein falsches Format zu haben scheinen. Ich habe Beispiele aus dem Forum genutzt und frage den Wert mit folgendem Query ab:

string sql = String.Format("Select masse from auftraege where Material='{0}'",material);
object masse= AdaptersWrite[0].Execute(sql, true);
return masse;

Der Eintrag ist dann in meiner SQL ein leeres Feld, also nicht NULL sondern leer. Muss ich noch eine Umwandlung zu einem String durchführen? 

Besten Dank für die kompetente Hilfe!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 2 Wochen her #3783

Hallo Herr Sauerborn,

in der aktuellen Version kann im SQL bzw. Lookup Heater für den Standard Rückgabewert nicht NULL bzw. DBNULL angegeben bzw. ausgewählt werden. In der aktuellen Beta Version wurde dieses Feature nun eingebaut.

Alternativ dazu könnte über den IF-THEN-ELSE Heater geprüft werden ob das Feld Leer bzw. einen bestimmten Wert hat um dann explizit mittels des NULL Heater dem Feld DBNULL zuzuweisen, siehe Screenshot.





BetaVersion Download
FlowHeaterBeta 32 Bit
FlowHeaterBeta 64 Bit
FlowHeaterServer Beta

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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 1 Woche her #3784

  • Christoph Sauerborn
  • Christoph Sauerborns Avatar Autor
  • Offline
  • Beiträge: 3
Hallo Herr Stark,

mein Ziel ist es nicht, dass in der DB "NULL" steht, sondern der Rückgabewert der SQL-Abfrage. Meine Frage ist vielmehr, ob ich hier:

object masse= AdaptersWrite[0].Execute(sql, true);
return masse;

noch eine Umwandlung in einen String durchführen muss, bevor ich "return masse;" ausführen lasse. 

Viele Grüße

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 1 Woche her #3785

nein, das ist nicht notwendig. Der FlowHeater wandelt das automatisch in den aktuell benötigten Datentyp um.

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.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

SQL Heater liefert nicht das gewünschte Ergebnis 3 Monate 1 Woche her #3786

wenn bei Ihnen eine Leere Zeichenfolge ausgegeben wird. liegt das vermutlich an dem generierten SQL. Zum testen einfach mal den SQL String zurückgeben (return sql;) und anzeigen lassen. Ich gehen mal davon aus, dass hier das gleich Problem mit der Formatierung der WHERE Klausel vorliegt.

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.
Folgende Benutzer bedankten sich: Christoph Sauerborn

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.
  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2019 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en