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
Gelöst! Gehe zu Lösung.
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
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
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)
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.
Gruß
Johannes
(Blue Reply)