open Tables oder connected User abfragen [erledigt]
Moderator: Moderatoren
open Tables oder connected User abfragen [erledigt]
ADS 12.x
Hallo
Den ADS benutze ich zwar schon seit Jahrzehnten, aber nur connect und disconnect.
Jetzt hilft es nichts ich muss mich mit den speziellen ADS-Funktionen beschäftigen.
Muss herausfinden, ob Arbeitsplätze angemeldet sind.
Wie z.B. im Advantage Data Architekt angezeigt
Connection Name und/oder Network Address. Schön wäre natürlich auch der Username wie im Feld OS Login, da zeigt er aber immer nur meinen eigenen Namen und die anderen nicht.
FRAGE:
Gibt es irgendwo Xbase++-Beispiele für die Verwendung der ADS-Funktionen?
Freue mich immer riesig wenn es um C-Strukturen geht
Z.B. mit AdsMgGetUserNames() ?
Hallo
Den ADS benutze ich zwar schon seit Jahrzehnten, aber nur connect und disconnect.
Jetzt hilft es nichts ich muss mich mit den speziellen ADS-Funktionen beschäftigen.
Muss herausfinden, ob Arbeitsplätze angemeldet sind.
Wie z.B. im Advantage Data Architekt angezeigt
Connection Name und/oder Network Address. Schön wäre natürlich auch der Username wie im Feld OS Login, da zeigt er aber immer nur meinen eigenen Namen und die anderen nicht.
FRAGE:
Gibt es irgendwo Xbase++-Beispiele für die Verwendung der ADS-Funktionen?
Freue mich immer riesig wenn es um C-Strukturen geht
Z.B. mit AdsMgGetUserNames() ?
Zuletzt geändert von DelUser01 am Mo, 22. Jan 2018 4:54, insgesamt 1-mal geändert.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Roland,
es gibt ein Alaska-Sample dazu, das kann ich Dir morgen zusenden. Ich habe auf Basis dieses Beispiels auch eine eigene Funktion daraus gebaut, in der ich alle gelockten Sätze mit Rechenrnamen und angemeldetem User anzeige. Dabei musste ich allerdings feststellen, daß genau diese beiden Daten nicht mir den in der Xbase++-Runtime mitgelieferten dll klappen - die sind vom ADS 7. Du musst dazu die dll aus der aktuellen ADS-Insatallation verwenden. Die Namen schreib ich Dir morgen mit rein.
Jan
es gibt ein Alaska-Sample dazu, das kann ich Dir morgen zusenden. Ich habe auf Basis dieses Beispiels auch eine eigene Funktion daraus gebaut, in der ich alle gelockten Sätze mit Rechenrnamen und angemeldetem User anzeige. Dabei musste ich allerdings feststellen, daß genau diese beiden Daten nicht mir den in der Xbase++-Runtime mitgelieferten dll klappen - die sind vom ADS 7. Du musst dazu die dll aus der aktuellen ADS-Insatallation verwenden. Die Namen schreib ich Dir morgen mit rein.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Roland,
das Alaska-Beispiel liegt unter \source\samples\adsdbe\console
Die beiden Dateien, die für PC-Namen und angemeldeten User in der aktuellen Version benötigt werden, sind die ace32.dll und die axcws32.dll.
Jan
das Alaska-Beispiel liegt unter \source\samples\adsdbe\console
Die beiden Dateien, die für PC-Namen und angemeldeten User in der aktuellen Version benötigt werden, sind die ace32.dll und die axcws32.dll.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Re: open Tables oder connected User abfragen
Hallo Jan
in meinem Archiv habe ich die Samples von Alaska jetzt gefunden, aber nicht mehr an der alten Installations-Stelle.
Kann es sein, dass mit den neuen Updates die Samples nicht mehr mitgeliefert und damit nicht mehr installiert werden?
Habe da vor kurzem schon einmal etwas gelesen dass einer die Samples nach der Neuinstallation der 2.x gesucht hat.
in meinem Archiv habe ich die Samples von Alaska jetzt gefunden, aber nicht mehr an der alten Installations-Stelle.
Kann es sein, dass mit den neuen Updates die Samples nicht mehr mitgeliefert und damit nicht mehr installiert werden?
Habe da vor kurzem schon einmal etwas gelesen dass einer die Samples nach der Neuinstallation der 2.x gesucht hat.
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Also: ich würde dringend empfehlen, einmal eine schöne Klasse für SQL zu bauen. Dann spart man sich das ganze API Gedönse und kann alles sauber im Architect testen, bevor man es in die Applikation einbaut. Das reduziert die komplette Codeänderung auf wenige Zeilen SQL.
liefert z.B. ein Tabelle aller zum ADS Server verbundenen Benutzer inklusive folgender Felder:
UserName (O) Name of the connected user.
ConnNumber (O) NetWare connection number. (Deprecated)
DictionaryUser (O) Name of user that has authenticated to an Advantage Data Dictionary.
Address (O) IP or IPX address of the connected user.
OSUserLoginName (O) Operating system login name of the connected user.
TSAddress (O) Terminal Server Client IP address if the connection is made from a Terminal Server session.
ApplicationID (O) Application ID for the connected user. See sp_SetApplicationID.
AverageCost (O) The estimated average cost per server request for the connection. If this value is less than or equal to the current threshold (see sp_mgGetActivityInfo), the next request will be placed in the Express Queue.
Wenn man dann nur bestimmte will, oder je Rechner nur einen Eintrag o.ä., dann kann man das SQL einfach erweitern:
Code: Alles auswählen
EXECUTE PROCEDURE sp_mgGetConnectedUsers()
UserName (O) Name of the connected user.
ConnNumber (O) NetWare connection number. (Deprecated)
DictionaryUser (O) Name of user that has authenticated to an Advantage Data Dictionary.
Address (O) IP or IPX address of the connected user.
OSUserLoginName (O) Operating system login name of the connected user.
TSAddress (O) Terminal Server Client IP address if the connection is made from a Terminal Server session.
ApplicationID (O) Application ID for the connected user. See sp_SetApplicationID.
AverageCost (O) The estimated average cost per server request for the connection. If this value is less than or equal to the current threshold (see sp_mgGetActivityInfo), the next request will be placed in the Express Queue.
Wenn man dann nur bestimmte will, oder je Rechner nur einen Eintrag o.ä., dann kann man das SQL einfach erweitern:
Code: Alles auswählen
SELECT UserName FROM
(
EXECUTE PROCEDURE sp_mgGetConnectedUsers()
) anyalias
WHERE UserName LIKE 'roland%'
Re: open Tables oder connected User abfragen
Hallo Joachim
...bestimmt ann man aber auch dafür eine schöne Klasse bauen.
Da sind wir aber wieder beim uralten Problem: Unmenge (Xbase++-) Programmierer erfinden das Rad immer wieder neu da es eben (fast) keinen gibt der solche schöne schicke Sachen für alle baut...
Wie lange gibt es jetzt ADS? Und genau so lange Jahre bauen viele Programmierer immer wieder Ihre eigenen Abfragen und fummeln mit den C-Strukturen.
aber ich habe kein SQL - immer noch das gute alte DBF...nightcrawler hat geschrieben: ↑Fr, 12. Jan 2018 16:14Also: ich würde dringend empfehlen, einmal eine schöne Klasse für SQL zu bauen. Dann spart man sich das ganze API Gedönse und kann alles sauber im Architect testen, bevor man es in die Applikation einbaut. Das reduziert die komplette Codeänderung auf wenige Zeilen SQL.
...bestimmt ann man aber auch dafür eine schöne Klasse bauen.
Da sind wir aber wieder beim uralten Problem: Unmenge (Xbase++-) Programmierer erfinden das Rad immer wieder neu da es eben (fast) keinen gibt der solche schöne schicke Sachen für alle baut...
Wie lange gibt es jetzt ADS? Und genau so lange Jahre bauen viele Programmierer immer wieder Ihre eigenen Abfragen und fummeln mit den C-Strukturen.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Roland,
hier geht es um SQL als Abfragesprache. Nicht um Datenbanken. Du kannst von Xbase++ aus eine SQL-Anweisung an den ADS schicken, der Dir die Daten zu den Usern zurück gibt. Auch wenn Du ansonsten mit dbf arbeitest.
Jan
hier geht es um SQL als Abfragesprache. Nicht um Datenbanken. Du kannst von Xbase++ aus eine SQL-Anweisung an den ADS schicken, der Dir die Daten zu den Usern zurück gibt. Auch wenn Du ansonsten mit dbf arbeitest.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Re: open Tables oder connected User abfragen
Hallo Jan
vermutlich verstehe ich das nicht ganz.
Mit Xbase per SQL-Befehl auf ADS zugreifen um DBFs abzufragen.
Dann muss ich früher oder später doch die SQL-Befehle verstehen.
Ist das schlussendlich wirklich einfacher als mit den Strukturen?
Die Strukturen ärgern mich zwar immer wieder werden aber immer gebraucht.
vermutlich verstehe ich das nicht ganz.
Mit Xbase per SQL-Befehl auf ADS zugreifen um DBFs abzufragen.
Dann muss ich früher oder später doch die SQL-Befehle verstehen.
Ist das schlussendlich wirklich einfacher als mit den Strukturen?
Die Strukturen ärgern mich zwar immer wieder werden aber immer gebraucht.
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Hallo Roland,
natürlich muss man SQL verstehen, um SQL zu verwenden. Aber es ist einfacher, einmal eine Klasse zu bauen (ich habe eine von Alaska, weiss aber nicht, inwieweit ich die rausgeben darf), welche statt eines Tabellennamens ein Statement aufnimmt und einen Cursor zurückliefert.
vs. SQL
und Du hast das ganze geschachere rund um die verschiedenen Datentypen, Pointer, Speicherplatzallokationen usw bei den APIs nicht mehr.
SQL ist einfach und es können viel mehr helfen, als mit ADS APIs in Xbase++.
natürlich muss man SQL verstehen, um SQL zu verwenden. Aber es ist einfacher, einmal eine Klasse zu bauen (ich habe eine von Alaska, weiss aber nicht, inwieweit ich die rausgeben darf), welche statt eines Tabellennamens ein Statement aufnimmt und einen Cursor zurückliefert.
Code: Alles auswählen
USE test VIA ADSDBE
BROWSE
Code: Alles auswählen
cStmt := "SELECT * FROM test"
oStmt := AdsStatement():New(cStmt,oSession)
oStmt:Execute("MYALIAS1")
Browse()
SQL ist einfach und es können viel mehr helfen, als mit ADS APIs in Xbase++.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Roland,
Du mißverstehst mich. Das, was Joachim vorschlägt, ist nicht, das Du per SQL Daten aus dbf abfragst. Sondern per SQL ADS-Interne Werte wie die angemeldeten User abfragst.
Was aber natürlich nichts daran ändert, das Du auch per SQL Datena us den dbf abfragen kannst. Auch gemischt mit normalen Db...()-Funktionen.
Jan
Du mißverstehst mich. Das, was Joachim vorschlägt, ist nicht, das Du per SQL Daten aus dbf abfragst. Sondern per SQL ADS-Interne Werte wie die angemeldeten User abfragst.
Was aber natürlich nichts daran ändert, das Du auch per SQL Datena us den dbf abfragen kannst. Auch gemischt mit normalen Db...()-Funktionen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Lt. Steffens persönlicher Ausage auf dem Forentreffen in Osnabrück darfst Du.nightcrawler hat geschrieben: ↑Fr, 12. Jan 2018 19:38ich habe eine von Alaska, weiss aber nicht, inwieweit ich die rausgeben darf
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Habe es aber nicht schriftlich (trotz Nachfrage) ... und daher möchte ich es nicht im Internet veröffentlichen
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Dann musst Du aber weiterhin mit Alias-Bereichen arbeiten...
Mit einer Klasse ist das -wenn man sie einmal hat- viel besser.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Uli,
hier geht es ja um zwei komplett unterschiedliche Dinge. Nicht um SQL, mit dem man Daten aus Tabellen abfragt, was man sonst unter Xbase++ mit den Db...()-Funktionen machen würde. Sondern um SQL um Konfigurations- oder Zustandsdaten abzufragen.
Jan
hier geht es ja um zwei komplett unterschiedliche Dinge. Nicht um SQL, mit dem man Daten aus Tabellen abfragt, was man sonst unter Xbase++ mit den Db...()-Funktionen machen würde. Sondern um SQL um Konfigurations- oder Zustandsdaten abzufragen.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Genau. Warum erwähnst Du das noch einmal extra?
Uli
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Mit Sql fragt man ja nicht nur Datenbanken ab .
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Re: open Tables oder connected User abfragen
irgendwie verstehe ich das schenbar nicht richtig.
Mit SQL kann ich also ganz einfach über ADS Dinge abfragen wo ich bei Xbase++ die C-Strukturen brauche?
Mit SQL kann ich also ganz einfach über ADS Dinge abfragen wo ich bei Xbase++ die C-Strukturen brauche?
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Hallo Roland,
Bei SQL gibt es viele Vordefinierte Stored procedures und functions und auch vordefinierte Tabellen innerhalb Data Dictionaries. Damit kannst du alles mögliche machen. Zum Beispiel Tabellenstrukturen abfragen, ändern oder löschen, abfragen, welche User welche Tabellen geöffnet haben etc.
Das kann man alles mit xBase abrufen. Die Frage ist nur wie .
Der Vortrag von Joachim beim Forentreffen wird bestimmt hochinteressant.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- nightcrawler
- 1000 working lines a day
- Beiträge: 653
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Der macht aber dieses Mal etwas komplett anderes ... nämlich ISO27001 - Informationssicherheitsmanagementsystem aus SW Entwickler Sicht;)
Re: open Tables oder connected User abfragen
Hallo Jan
mit den ADS-Samples habe ich die Sache realisieren können.
Leider mit DLL - hätte lieber rausbekommen wie die das mit den C-Strukturen gemacht haben
mit den ADS-Samples habe ich die Sache realisieren können.
Leider mit DLL - hätte lieber rausbekommen wie die das mit den C-Strukturen gemacht haben
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: open Tables oder connected User abfragen
Ups...nightcrawler hat geschrieben: ↑Do, 18. Jan 2018 17:17Der macht aber dieses Mal etwas komplett anderes ... nämlich ISO27001 - Informationssicherheitsmanagementsystem aus SW Entwickler Sicht;)
Bestimmt auch interessant
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück