FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum SqlServer Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: CSV Import , FlatFile Export , Import IDENTITY (Auto Inkrement) Felder , Export auf mehrere CSV Dateien aufteilen
  • Seite:
  • 1

THEMA: Where Bedingung "in" weitere SQL Abfrage

Where Bedingung "in" weitere SQL Abfrage 9 Monate 1 Woche her #3531

  • Markus Kretschmer
  • Markus Kretschmers Avatar Autor
  • Offline
  • Beiträge: 3
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 oder Registrieren um der Konversation beizutreten.

Where Bedingung "in" weitere SQL Abfrage 9 Monate 1 Woche her #3532

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1392
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:

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.
Letzte Änderung: von FlowHeater-Team.

Where Bedingung "in" weitere SQL Abfrage 9 Monate 1 Woche her #3533

  • Markus Kretschmer
  • Markus Kretschmers Avatar Autor
  • Offline
  • Beiträge: 3
Hallo Herr Stark,

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

Gruß
Markus Kretschmer

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • 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