[NEWSboard IBMi Forum]
  1. #1
    User Besucher/Guest

    ODBC-Zugriff mit MS Access - SQL - Userabfrage

    Guten Morgen,

    zuerst einmal, ich kenne mich "NULL" mit der AS/400 bzw. ISeries aus und kenne in SQL eigentlich nur den Befehl 'select'. Bin ein "normaler" PC-User.

    Ich greife mittels ODBC und MS Access (GUI) auf eine ISeries - find ich echt spitze, wie einfach das ist.
    Nun würde ich gerne mittels SQL den aktiven User einer PC-Session auslesen, um in MS Access je nach User die Funktionen freizuschalten bzw. zu sperren.
    Ist dies möglich?

    Schon mal VIELEN DANK!

    Gruß
    DAN

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    select user from sysibm.sysdummy1
    besser wäre es allerdings diese Funktionalität über ein View Layer auf der AS400 abzubilden.

    mfg

    Dieter Bender

    Zitat Zitat von User
    Guten Morgen,

    zuerst einmal, ich kenne mich "NULL" mit der AS/400 bzw. ISeries aus und kenne in SQL eigentlich nur den Befehl 'select'. Bin ein "normaler" PC-User.

    Ich greife mittels ODBC und MS Access (GUI) auf eine ISeries - find ich echt spitze, wie einfach das ist.
    Nun würde ich gerne mittels SQL den aktiven User einer PC-Session auslesen, um in MS Access je nach User die Funktionen freizuschalten bzw. zu sperren.
    Ist dies möglich?

    Schon mal VIELEN DANK!

    Gruß
    DAN
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Einfach "select USER, ... from ..." im Select einfügen, dann bekommst du automatisch im Feld USER den 10-stelligen Profilnamen mitgeteilt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Jan 2005
    Beiträge
    2
    Hallo,

    vielen Dank für die Antworten, jedoch stehe ich da immer noch auf dem Schlauch:

    Lösungsansatz 1 (BenderD):
    "select user from sysibm.sysdummy1"
    verstehe ich (einfacher User) doch als "select user from <Maschienenname>.<Bibliotheksname>"? - Funktioniert so nicht. Access will auf eine lokale Access DB (im Stammverzeichnis von Access) mit <Maschienenname> als Name zugreifen.

    Lösungsansatz 2 (Fuerchau):
    "select USER, ... from ..."
    mmhhh ... kann ich da bitte weitere Infos bekommen, was da in "..." rein müßte.

    Zusatzinformationen.
    es gibt mehrer ISeries Maschienen, zur Vereinfachung der Maschienenname lautet "InfoCen1".
    Bibliotheksname "OBJEKTE"
    ODBC_Verbindungsbezeichnung "ODBC_AS"
    -> es wird der lokale User benötigt, der vom PC aus angemeldet ist
    VIELEN DANK

    Gruß
    DAN

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    sql versteht in der from Klausel bei zweistelligen qualifizierten Namen:
    Bibliothek.Datei
    User ist ein special register, das in der select Klausel (zum Beispiel) ohne jeden from erwähnt werden kann. sysdummy1 ist einfach eine Table mit einem Satz.

    mfg

    Dieter Bender

    Zitat Zitat von User
    Hallo,

    vielen Dank für die Antworten, jedoch stehe ich da immer noch auf dem Schlauch:

    Lösungsansatz 1 (BenderD):
    "select user from sysibm.sysdummy1"
    verstehe ich (einfacher User) doch als "select user from <Maschienenname>.<Bibliotheksname>"? - Funktioniert so nicht. Access will auf eine lokale Access DB (im Stammverzeichnis von Access) mit <Maschienenname> als Name zugreifen.

    Lösungsansatz 2 (Fuerchau):
    "select USER, ... from ..."
    mmhhh ... kann ich da bitte weitere Infos bekommen, was da in "..." rein müßte.

    Zusatzinformationen.
    es gibt mehrer ISeries Maschienen, zur Vereinfachung der Maschienenname lautet "InfoCen1".
    Bibliotheksname "OBJEKTE"
    ODBC_Verbindungsbezeichnung "ODBC_AS"
    -> es wird der lokale User benötigt, der vom PC aus angemeldet ist
    VIELEN DANK

    Gruß
    DAN
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Du kannst den aktuellen User in JEDEM Select einer Tabelle abfragen.
    Wenn du also auf eine bestimmte Tabelle verknüpft hast, ergänze (in der SQL-Sicht) bei den Feldern einfach um das Feld "USER".

    Ggf. zeigt dir die grafische Sicht dann ein berechnetes Feld an bzw kann sie nicht mehr darstellen.

    Somit hast du bei jeder Abfrage die Möglichkeit den User mitzulesen.

    Auch eine Where-Klausel schafft dies. Enthält z.b. die AS/400-Tabelle in einem Feld den Benutzer-Namen kannst du mit

    ... where userfeld = USER ...

    Die Satzauswahl auf den angemeldeten Benutzer beschränken.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Jan 2005
    Beiträge
    2
    Vielen Dank für die Informationen.

    Habe gerade verzweifelt versucht die Hinweise umzusetzen.
    Nun habe ich mein Problem weiter eingrenzen können.

    Der Select-Befehl mit Feld "USER" funktioiert, wie beschreiben, wenn ich den Befehl z.B. über den iSeries Navigator abgebe.
    Gebe ich aber den Befehl in MS Access (GUI) ein, findet er das Feld nicht. Muss mal schauen, wie ich den SQL direkt aus MS Access an die DB abschicken kann.

    Gruß
    DAN

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    727
    Versuch's mal mit dem 3teiligen Namen.

    "select USER from <RDBName>.<Schema>.<Tabelle>"

    RDBName ist der Name der DB2/400-Datenbank i.d.R. der Systemname (WRKDIRE), wenn nur eine Datenbank existiert.

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ich sagte ja, das ist ein Pseudo-Feld und kann nur in der SQL-Sicht eingegeben werden !

    Ach ja:
    Bei einer verknüpften Tabelle geht das leider nicht. Du musst dafür eine SQL-Passthru-Abfrage erstellen, in der du den SQL-Select direkt eingibst.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  2. iSeries Access ODBC Driver und MS SQL Server ...
    By rcauchy in forum NEWSboard Windows
    Antworten: 1
    Letzter Beitrag: 23-06-05, 13:28
  3. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43
  4. Zugriff MS Access auf AS/400 via ODBC
    By SL in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 22-07-02, 11:54
  5. MS Access SQL Abfrage über ODBC
    By Helwo in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-03-02, 09:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •