- Beiträge: 3
SQL Befehl Anpassen
- ED Holz
- Autor
- Offline
- Benutzer
Weniger
Mehr
2 Jahre 1 Woche her #4671
von ED Holz
SQL Befehl Anpassen wurde erstellt von ED Holz
Hi ich habe Folgendes Problem,
Ich möchte per ODBC Adapter eine Schattendatenbank erstellen. in der Konfiguration hab ich unter Reiter "Felder/Datentypen oben ein Feld mit einem SQL Befehl.
Dieser ist ja von FH erstellt anhand meiner Tabellenspalten die ich angegeben habe. dieser sieht wie folgt aus.
SELECT ADRESSEN.Adreßname, ADRESSEN.Kundennummer, ADRESSEN.Namenszeile_1, ADRESSEN.Namenszeile_2,ADRESSEN.Straße_NR_, ADRESSEN.PLZ_ORT,ADRESSEN.TYP
FROM 'FIRMA1'#ADRESSEN ADRESSEN
Jetzt würden ich diesen SQL Befehl gerne erweitern um folge Zeilen.,IIF (RTRIM([NAMENSZEILE1])like '%' + '*' + '%', SUBSTRING(RTRIM([NAMENSZEILE1]), 0, charindex('(*',[NAMENSZEILE1])),'') as NAME1,IIF (RTRIM([PLZORT])like '%' + '*' + '%', SUBSTRING(RTRIM([PLZORT]), 0, charindex('(*',[PLZORT])),'') as ORT1
in meiner SQL Datenbank funktioniert dieser Snippet aber im FH kann ich das nicht einfach mit einfügen.
Kann mir da mal bitte jemand weiterhelfen ?
Ich möchte per ODBC Adapter eine Schattendatenbank erstellen. in der Konfiguration hab ich unter Reiter "Felder/Datentypen oben ein Feld mit einem SQL Befehl.
Dieser ist ja von FH erstellt anhand meiner Tabellenspalten die ich angegeben habe. dieser sieht wie folgt aus.
SELECT ADRESSEN.Adreßname, ADRESSEN.Kundennummer, ADRESSEN.Namenszeile_1, ADRESSEN.Namenszeile_2,ADRESSEN.Straße_NR_, ADRESSEN.PLZ_ORT,ADRESSEN.TYP
FROM 'FIRMA1'#ADRESSEN ADRESSEN
Jetzt würden ich diesen SQL Befehl gerne erweitern um folge Zeilen.,IIF (RTRIM([NAMENSZEILE1])like '%' + '*' + '%', SUBSTRING(RTRIM([NAMENSZEILE1]), 0, charindex('(*',[NAMENSZEILE1])),'') as NAME1,IIF (RTRIM([PLZORT])like '%' + '*' + '%', SUBSTRING(RTRIM([PLZORT]), 0, charindex('(*',[PLZORT])),'') as ORT1
in meiner SQL Datenbank funktioniert dieser Snippet aber im FH kann ich das nicht einfach mit einfügen.
Kann mir da mal bitte jemand weiterhelfen ?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
2 Jahre 1 Woche her #4672
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 SQL Befehl Anpassen
Hallo Herr Holz,
Sie können das SQL Statement im FlowHeater einfach mit Ihren lauffähigen SQL Statement komplett ersetzen. Anschließend einfach erneut den „Felder Einlesen“ Button betätigen, das sollte es gewesen sein.
Was mir an Ihrem SQL Schnipsel auffällt ist, dass hier unterschiedliche Feldnamen verwendet werden.
z.B. NAMENSZEILE1 > NAMENSZEILE_1 oder aber PLZORT -> PLZ_ORT
Sie können das SQL Statement im FlowHeater einfach mit Ihren lauffähigen SQL Statement komplett ersetzen. Anschließend einfach erneut den „Felder Einlesen“ Button betätigen, das sollte es gewesen sein.
Was mir an Ihrem SQL Schnipsel auffällt ist, dass hier unterschiedliche Feldnamen verwendet werden.
z.B. NAMENSZEILE1 > NAMENSZEILE_1 oder aber PLZORT -> PLZ_ORT
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.
- ED Holz
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 3
2 Jahre 1 Woche her #4673
von ED Holz
ED Holz antwortete auf SQL Befehl Anpassen
Hallo Herr Stark,
Sie hatten Recht ich hatte die Felder noch Falsch benannt.
Mein Statement sieht jetzt folgendermaßen aus:
SELECT ADRESSEN.Adreßname
,ADRESSEN.Kundennummer
,ADRESSEN.Namenszeile_1
,ADRESSEN.Namenszeile_2
,ADRESSEN.Straße_NR_
,ADRESSEN.PLZ_ORT
,ADRESSEN.TYP
,IIF (RTRIM(Namenszeile_1)like '%' + '*' + '%',
SUBSTRING(RTRIM(Namenszeile_1), 0, charindex('(*',Namenszeile_1)),''
) as NAME1
,IIF (RTRIM(PLZ_ORT)like '%' + '*' + '%',
SUBSTRING(RTRIM(PLZ_ORT), 0, charindex('(*',PLZ_ORT)),''
) as ORT1
FROM 'FIRMA1'#ADRESSEN ADRESSEN
FH beschwert sich aber über das IIF
Ich bekomme die Meldung "Fehler beim abrufen der Schemainformationen aufgetreten!
Error 42000 37000 Syntaxfehler oder Zugriffsverletzung : Nicht erkannte bzw. erlaubte Zeichen : IIF.
Sie hatten Recht ich hatte die Felder noch Falsch benannt.
Mein Statement sieht jetzt folgendermaßen aus:
SELECT ADRESSEN.Adreßname
,ADRESSEN.Kundennummer
,ADRESSEN.Namenszeile_1
,ADRESSEN.Namenszeile_2
,ADRESSEN.Straße_NR_
,ADRESSEN.PLZ_ORT
,ADRESSEN.TYP
,IIF (RTRIM(Namenszeile_1)like '%' + '*' + '%',
SUBSTRING(RTRIM(Namenszeile_1), 0, charindex('(*',Namenszeile_1)),''
) as NAME1
,IIF (RTRIM(PLZ_ORT)like '%' + '*' + '%',
SUBSTRING(RTRIM(PLZ_ORT), 0, charindex('(*',PLZ_ORT)),''
) as ORT1
FROM 'FIRMA1'#ADRESSEN ADRESSEN
FH beschwert sich aber über das IIF
Ich bekomme die Meldung "Fehler beim abrufen der Schemainformationen aufgetreten!
Error 42000 37000 Syntaxfehler oder Zugriffsverletzung : Nicht erkannte bzw. erlaubte Zeichen : IIF.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
2 Jahre 1 Woche her - 2 Jahre 1 Woche her #4674
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 SQL Befehl Anpassen
Hallo Herr Holz,
auf welche Datenbank möchten Sie den zugreifen? Sie schreiben oben was von ODBC Adapter ? Ich vermute mal, dass in diesem Fall der verwendete ODBC Treiber mit dem SQL IIF nicht umgehen kann!
Sollten Sie auf eine MS SQL Server Datenbank zugreifen wollen empfehle ich Ihnen den integrierten SQL Server Adapter zu verwenden, hier kann das IIF verwendet werden. Wenn der SQL im Management Studio ausgeführt werden kann, sollte das auch über den FlowHeater SQL Server Adapter funktionieren.
auf welche Datenbank möchten Sie den zugreifen? Sie schreiben oben was von ODBC Adapter ? Ich vermute mal, dass in diesem Fall der verwendete ODBC Treiber mit dem SQL IIF nicht umgehen kann!
Sollten Sie auf eine MS SQL Server Datenbank zugreifen wollen empfehle ich Ihnen den integrierten SQL Server Adapter zu verwenden, hier kann das IIF verwendet werden. Wenn der SQL im Management Studio ausgeführt werden kann, sollte das auch über den FlowHeater SQL Server Adapter funktionieren.
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: 2 Jahre 1 Woche her von FlowHeater-Team.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- ED Holz
- Autor
- Offline
- Benutzer
Weniger
Mehr
- Beiträge: 3
2 Jahre 1 Woche her #4675
von ED Holz
ED Holz antwortete auf SQL Befehl Anpassen
Das könnte das Problem sein, ich versuche mit einem ODBC Adapter zu lesen und mit einem SqlServerAdapter zu schreiben.
Gibt es denn Alternativen.
Das Problem sieht folgendermaßen aus.
Ich habe eine Datenbank von INFORM da hab ich nur lesen Zugriff mit dem ODBC die Datenbank ist aber teilweise echt unschön
z.b. steht ab und zu in Namenszeil_1 der Kundenname wiederholt
1. Kunde XYZ
2. Kunde ABC (*) Kunde ABC
3. Kunde SDF (*) Kunde SDF (*) Kunde SDF (*)
Ich wollte jetzt einfach nur Immer alles was vor dem "(*)" steht.
wie kann ich das mit dem FH umsetzten ?
Gibt es denn Alternativen.
Das Problem sieht folgendermaßen aus.
Ich habe eine Datenbank von INFORM da hab ich nur lesen Zugriff mit dem ODBC die Datenbank ist aber teilweise echt unschön
z.b. steht ab und zu in Namenszeil_1 der Kundenname wiederholt
1. Kunde XYZ
2. Kunde ABC (*) Kunde ABC
3. Kunde SDF (*) Kunde SDF (*) Kunde SDF (*)
Ich wollte jetzt einfach nur Immer alles was vor dem "(*)" steht.
wie kann ich das mit dem FH umsetzten ?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
2 Jahre 1 Woche her #4676
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 SQL Befehl Anpassen
Hallo Herr Holz,
das können Sie sehr elegant mit dem String Split Heater lösen. Fügen Sie den String Split Heater in die Verbindung des gewünschten Feldes ein und tragen für Suche den „*“ ein, oder aber ein anderes Trennzeichen. Als Rückgabe lassen Sie sich die erste gefundene Spalte zurückgeben. Wird nichts gefunden dann wird auch die erste Spalte zurückgegeben.
Im Anhang finden Sie ein kleines Beispiel dazu.
das können Sie sehr elegant mit dem String Split Heater lösen. Fügen Sie den String Split Heater in die Verbindung des gewünschten Feldes ein und tragen für Suche den „*“ ein, oder aber ein anderes Trennzeichen. Als Rückgabe lassen Sie sich die erste gefundene Spalte zurückgeben. Wird nichts gefunden dann wird auch die erste Spalte zurückgegeben.
Im Anhang finden Sie ein kleines Beispiel dazu.
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.
Ladezeit der Seite: 0.295 Sekunden