PG User unter Access abfragen

Hallo,
wie kann ich von einer MS-Access anwendung aus die auf eine PG DB zugreift den PG Datenbank User abfragen?
Unter PG geht das ja mit current_user und unter Access mit currenuser().

currentuser() liefert aber nur den Access User.
Wie kann ich den aktuellen User der PG DB abbfragen?


LG Tom

Hallo Tom,

unter Access lassen sich PassThrough Abfragen erstellen. Da kannst du den current_user in PG sql Syntax abfragen.
Zumindest unter Access 2003 funktionierts so, WENN du eine ODBC Verbindung zu postgres eingerichtet hast:

  • neue Abfrage
  • Tabellenfenster zuklicken
  • rechtsklick in Abfragefenster
  • Sql spzifisch - PassThrough auswählen
  • im Sqlfenster select current_user reinschreiben
  • in den Abfrageeigenschaften unter ODBC Verbindung eingeben
    ODBC;DATABASE=name_der_pg_datenbank;DSN=name_laut_odbc;PWD=xxxxxxx;PORT=5432;SERVER=localhost;UID=A+D;READONLY=0
    PORT und SERVER evtl. noch anpassen.
  • speichern und testen

Diese Abfragen lassensich auch dynamisch machen, aber wenn du den Weg kennst findest du das auch.

Grüße
Uli

Hallo Uli,
danke für deine Antwort. Das funktioniert alles so wie du es beschrieben hast.

Mir ist aber derzeit nicht klar, wie ich das Abfrageergebnis in Access als Variablenwert speichern und und z.B. in einem View als Selektionskriterium weiterverwenden kann. Aber das gehört wohl besser in ein Accessforum.

LG Tom

Hallo Tom,

war in Urlaub, vermutlich hast du die Lösung gefunden. Wenn nicht müsste das so gehen.
Angenommen deine Abfrage zum postgres User heisst vwCurrentUser dann kannst du das Ergebnis in anderen Abfragen so verwenden:

select a, b, c
  from deine_tabelle
 where dein_user = (select current_user from vwCurrentUser)

Grüße
Uli

Danke Uli, habe deine Antwort erst eben gesehen.
LG Tom