-
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
-
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 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
-
Einfach "select USER, ... from ..." im Select einfügen, dann bekommst du automatisch im Feld USER den 10-stelligen Profilnamen mitgeteilt.
-
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
-
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 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
-
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.
-
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
-
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.
-
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.
Similar Threads
-
By olafu in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-10-06, 08:13
-
By rcauchy in forum NEWSboard Windows
Antworten: 1
Letzter Beitrag: 23-06-05, 13:28
-
By Rico in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 21-03-05, 09:43
-
By SL in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-07-02, 11:54
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks