Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

Where Bedingung "in" weitere SQL Abfrage

  • Markus Kretschmer
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
5 Jahre 9 Monate her #3531 von Markus Kretschmer
Where Bedingung "in" weitere SQL Abfrage wurde erstellt von Markus Kretschmer
Hallo Herr Stark,

ich möchte gerne in einem ODBC-Read-Adapter eine Where Bedingung einbinden welche auf eine Liste von Werten aus einer anderen SQL-Datenbank zugreift.
Die Where-Bedingung soll wie folgt lauten:
Where Konto in ("Spalte Konto aus einer anderen SQL-Datenbank")

Alternativ zur SQL-Abfrage könnte ich auch eine *.csv oder ähnliches bereitstellen.

Funktioniert dies grundsätzlich?

Danke & Gruß
Markus Kretschmer

Bitte Anmelden um der Konversation beizutreten.

Mehr
5 Jahre 9 Monate her - 5 Jahre 9 Monate her #3532 von FlowHeater-Team
FlowHeater-Team antwortete auf Where Bedingung "in" weitere SQL Abfrage
Hallo Herr Kretschmer,

grundsätzlich ja :) Sie benötigen dazu aber den .NET Script Heater mit Einstellung Ausführen bei „Start“ und unten stehende C# Skript.

Am einfachsten würde es mit der WHERE Klausel aus einer Textdatei funktionieren. Im Anhang finden Sie ein kleines Beispiel dazu.

Das Script wird einmalig beim Starten der Definition aufgerufen, liest die gewünschte WHERE Klausel aus der Textdatei „sql-where.txt“ und setzt den FlowHeater Parameter $WHERE$. Diesen Parameter können Sie im READ Adapter im SQL verwenden.

z.B: select * from IHRE-TABELLE WHERE ID in ($WHERE$)

Der Adapter ersetzt den Parameter dynamisch mit dem aktuellen Inhalt.

Es würde theoretisch auch mit einer Abfrage auf einer anderen Datenbank funktionieren. Hier wäre aber die Voraussetzung, dass ein Adpater auf der WRITE auf diese Datenbank konfiguriert sein müsste, damit der Zugriff funktioniert.

Sie könnten die Erstellung der WHERE SQL Textdatei z.B. durch eine vorgelagerte FlowHeater Definition dynamisch erzeugen und über das Batch Modul bzw. den FlowHeater Server automatisieren.

Hinweis: Die WHERE Klausel muss in der Textdatei natürlich der jeweiligen Syntax der verwendeten Datenbank entsprechen.

.NET C# Skript

public object DoWork()
{
// SQL WHERE aus Textdatei "sql-where.txt" im Verzeichnis der Definition einlesen
string where = File.ReadAllText("sql-where.txt");

// Parameter $WHERE$ setzen, damit dieser im READ Adapter im SQL verwendet werden kann
Parameter["where"].Value = where;

// Rückgabe bei Ausführen bei "Start" nicht notwendig
return 0;
}


Dateianhang:

Dateiname: dynamic-sql-where.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:
Letzte Änderung: 5 Jahre 9 Monate her von FlowHeater-Team.

Bitte Anmelden um der Konversation beizutreten.

  • Markus Kretschmer
  • Autor
  • Offline
  • Benutzer
  • Benutzer
Mehr
5 Jahre 9 Monate her #3533 von Markus Kretschmer
Markus Kretschmer antwortete auf Where Bedingung "in" weitere SQL Abfrage
Hallo Herr Stark,

hat funktioniert. Vielen Dank für die schnelle Unterstützung.

Gruß
Markus Kretschmer

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.271 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


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