Forum - Deutsch

Suchen Sie nach Antworten, stellen Sie Fragen und teilen Sie Ihr Alteryx-Wissen.
GELÖST

Lesen und Schreiben von/an externer Datenbank (Postgresql)

Highlighted
Alteryx Partner

Hallo,

 

ich möchte innerhalb eines Macros eine Datenbank-Tabelle (ohne ODBC) über eine IP-Adresse ansprechen und dann eine Query-Ausführen. Das Ergebnis dieses Query will ich dann in dem Macro verwenden und am Ende des Macros möchte ich ein insert into in diese Tabelle ausführen.

 

Kann ich dieses mit Alteryx händeln?

 

Und wenn ja wie?

 

Viele Grüße

Mathias

 

 

Highlighted
Alteryx
Alteryx

Hallo @mathias_schnoor,

 

Lass uns einen Schritt zurück gehen.

 

Die Abfrage und die IP-Adresse können Sie als Parameter an das Makro gesendet werden. Aber wir müssen mit der einfachsten Annahme beginnen.
1. Stellen Sie über die IP-Adresse eine Verbindung zu einem DB-tabelle her
2. Führen Sie eine Abfrage aus
3. "Insert" into die Tabelle anwenden

 

Nach der Dokumentation und meiner Erfahrung habe ich nur ODBC-Verbindungen zu PostgreSQL gesehen

https://help.alteryx.com/current/DataSources/PostgreSQL.htm

 

Wie verbinden Sie sich eigentlich mit Ihrer Datenbank?

 

Vianney

 

 

 

Highlighted
Alteryx Partner

@Vianney

 

Danke.

 

Ich kenne das in Alteryx auch nur über ODBC.

 

Das ist es ja die Datenbank (Postgres) liegt auf einem Server in der großen weiten Welt.

 

Diese auch eine IP-Adresse. Ich kann also IP-Adresse Benutzername und Passwort mitgeben um diese anzusprechen.

 

Geht wohl nicht...

 

Oder

 

 

 

 

Highlighted
Alteryx
Alteryx

Wie bereits erwähnt, verwendet Alteryx einen ODBC-Treiber, um eine Verbindung zur PostgreSQL-Datenbank herzustellen

 

https://help.alteryx.com/2018.2/DataSources/PostgreSQL.htm

 

Es gibt andere Technologien, die einen JDBC-Treiber verwenden, dies ist jedoch nicht der Fall bei Alteryx.

 

Ich kenne Ihre Einschränkungen nicht, aber ich schlage vor, dass Sie den ODBC-Treiber auf Ihrem Computer installieren, ihn konfigurieren (möglicherweise benötigen Sie dafür IT-Unterstützung) und eine Verbindung zur Datenbank herstellen

 

Best,

Vianney

 

(Wenn dies Ihre Frage beantwortet hat, markieren Sie sie bitte als Antwort. Dies wird zukünftigen Community-Benutzern helfen)

Alteryx Partner

Hallo @mathias_schnoor,

 

vielleicht etwas spät, aber ich bin gerade über diesen Post gestolpert:

Ich nehme an, dass hier ein bisschen ein Problem in der Unterscheidung zwischen DSN (Data Source Name) und ODBC Treiber besteht.

Alteryx (und auch andere Anwendungen) benötigen einen Treiber um eine (Postgres-)Datenbank anzusprechen, allerdings bedeutet das keineswegs, dass diese Verbindung irgendwo fest als DSN hinterlegt sein muss.

Hierzu ist ein einfacher ODBC-Connectionstring als "File"-Parameter des entsprechenden input oder output-Knotens ausreichend, den du dann auch entsprechend einfach mit Actions modifizieren kannst.

Den Treiber kannst Du auf der postgresql-Seite herunterladen und installieren, wie schon von @VianneyM empfohlen.

 

Ich habe das mal an einer kostenfreien Postgres-Cloud-Instanz und folgendem Connection-String getestet:

 

odbc:Driver={PostgreSQL Unicode(x64)};Server=manny.db.elephantsql.com;Port=5432;Database=xtpusycw;Uid=xtpusycw;Pwd=__EncPwd1__;

 

 

Das funktioniert problemlos, hierbei ist zu beachten, dass ich ursprünglich das Passwort im Klartext eingegeben habe, dieses aber dankenswerter Weise von Alteryx direkt verschlüsselt wird. Als Beispiel hier auch noch ein entsprechendes PoC-Macro im Anhang, von dem aus weitergebaut werden kann.

AlteryxGui_2020-02-02_20-41-52.png

 

AlteryxGui_2020-02-02_20-26-35.png

 

Gruß

 

Johannes

(Blue Reply)