- Beiträge: 5
SqlServeradapter feld aus zusätzlicher SQL-Tabelle in Textile
- Kraus
- Autor
- Offline
- Benutzer
Weniger
Mehr
4 Jahre 1 Monat her #4022
von Kraus
SqlServeradapter feld aus zusätzlicher SQL-Tabelle in Textile wurde erstellt von Kraus
Anforderung:
Felder aus SQL-Tabelle in eine Textfile exportieren und zusätzlich aus einer anderen SQL-Tabelle ein weiteres Feld.
Auf der Read-Seite: SqlServerAdapter
Tabelle: Adresse
Felder: Adresse, Name, etc
Auf der Write-Seite TextFileAdapter
Datei: Adresseexport
Felder:
Adresse
Name
Zusatz (kommt aus der Tabelle Adressezusatz)
mit der SQL-Funktion auf der Read-Seite bei jedem Satz und Zuordnung zum Feld Zusatz auf der Write-Seite:
select Zusatz from Adressezusatz where Adressezusatz.Adresse = Adresse
bekommt man nur immer den Inhalt aus dem ersten Satz aus der Tabelle Adressezusatz
Wenn man dagegen einen echten Wert eingibt:
select Verweis from ADRESSZUORDNUNG where ADRESSZUORDNUNG.Adresse = '10123'
bekommt man den Inhalt aus dem richtigen Datensatz.
Wie würde die richtige Funktion sein?
Vielen Dank an Euch
Felder aus SQL-Tabelle in eine Textfile exportieren und zusätzlich aus einer anderen SQL-Tabelle ein weiteres Feld.
Auf der Read-Seite: SqlServerAdapter
Tabelle: Adresse
Felder: Adresse, Name, etc
Auf der Write-Seite TextFileAdapter
Datei: Adresseexport
Felder:
Adresse
Name
Zusatz (kommt aus der Tabelle Adressezusatz)
mit der SQL-Funktion auf der Read-Seite bei jedem Satz und Zuordnung zum Feld Zusatz auf der Write-Seite:
select Zusatz from Adressezusatz where Adressezusatz.Adresse = Adresse
bekommt man nur immer den Inhalt aus dem ersten Satz aus der Tabelle Adressezusatz
Wenn man dagegen einen echten Wert eingibt:
select Verweis from ADRESSZUORDNUNG where ADRESSZUORDNUNG.Adresse = '10123'
bekommt man den Inhalt aus dem richtigen Datensatz.
Wie würde die richtige Funktion sein?
Vielen Dank an Euch
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
4 Jahre 1 Monat her - 4 Jahre 1 Monat her #4024
von FlowHeater-Team
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.
FlowHeater-Team antwortete auf SqlServeradapter feld aus zusätzlicher SQL-Tabelle in Textile
Wenn das Feld in der gleichen
MS SQL-Server Datenbank
wie die READ Tabelle ist, können Sie die Verknüpfung (JOIN) dem MS SQL Server überlassen.
Hierzu einfach den SQL SELECT im READ Adapter erweitern.
z.B. select TABELLE_1.*, TABELLE_2.ZUSATZ from TABELLE_1 inner join TABELLE_2 on TABELLE_1.ID = TABELLE_2.ID
und anschließend die Felder erneut einlesen. So verknüpft der MS SQL Server die zwei Tabellen miteinander und liefert alle Felder der Tabelle_1 sowie das Feld ZUSATZ, passend zur ID, aus TABELLE_2.
Hinweis: Dieser Weg ist auf jeden FALL vorzuziehen und schneller als der jetzt beschriebene Weg über einen Datenlookup!
Wenn sich das Feld in einer anderen Datenbank, zum Beispiel in der zu Importierenden Tabelle befinden funktioniert das nicht mehr. Hier müssen Sie die Daten mittels des SQL Heater bzw. dem Lookup Heater pro Datensatz lesen.
Im SQL Heater tragen Sie hier dann Ihren SQL SELECT ein.
z.B. select Verweis from ADRESSZUORDNUNG where ADRESSZUORDNUNG.Adresse = '$ADRESSE$'
Wichtig ist hier der FlowHeater Parameter $ADRESSE$ für die WHERE Klausel. Diesen Parameter müssen Sie über den Set Parameter Heater setzen, siehe Screenshot. So wird pro Datensatz ein SELECT auf die angegebene Datenquelle abgesetzt und das benötigte Feld zurückgeliefert.
Hierzu einfach den SQL SELECT im READ Adapter erweitern.
z.B. select TABELLE_1.*, TABELLE_2.ZUSATZ from TABELLE_1 inner join TABELLE_2 on TABELLE_1.ID = TABELLE_2.ID
und anschließend die Felder erneut einlesen. So verknüpft der MS SQL Server die zwei Tabellen miteinander und liefert alle Felder der Tabelle_1 sowie das Feld ZUSATZ, passend zur ID, aus TABELLE_2.
Hinweis: Dieser Weg ist auf jeden FALL vorzuziehen und schneller als der jetzt beschriebene Weg über einen Datenlookup!
Wenn sich das Feld in einer anderen Datenbank, zum Beispiel in der zu Importierenden Tabelle befinden funktioniert das nicht mehr. Hier müssen Sie die Daten mittels des SQL Heater bzw. dem Lookup Heater pro Datensatz lesen.
Im SQL Heater tragen Sie hier dann Ihren SQL SELECT ein.
z.B. select Verweis from ADRESSZUORDNUNG where ADRESSZUORDNUNG.Adresse = '$ADRESSE$'
Wichtig ist hier der FlowHeater Parameter $ADRESSE$ für die WHERE Klausel. Diesen Parameter müssen Sie über den Set Parameter Heater setzen, siehe Screenshot. So wird pro Datensatz ein SELECT auf die angegebene Datenquelle abgesetzt und das benötigte Feld zurückgeliefert.
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: 4 Jahre 1 Monat her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Kraus
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 5
4 Jahre 1 Monat her #4025
von Kraus
Kraus antwortete auf SqlServeradapter feld aus zusätzlicher SQL-Tabelle in Textile
Hat super funktioniert, herzlichen Dank für die schnelle und gute Lösung
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.272 Sekunden