AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird+Roles+Rechte

Ein Thema von Ati · begonnen am 15. Aug 2006 · letzter Beitrag vom 18. Aug 2006
 
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Firebird+Roles+Rechte

  Alt 17. Aug 2006, 17:01
So,

das ganze unter IBExpert.
- DB registrieren
- dann bei Procedures Rechts-Klick New(Neu)
- auf der rechten Seite in der Toolbar "LazyMode aus"
(das ist links vom Compile, also dem Blitz)
- alles aus dem Editor rauslöschen
- jetzt gaaanz nach oben , ALLES raus
(der Cursor steht nicht in der 1. Zeile)
- Folgendes von Hand eintippen

Schlaue Leute Copy&Paste *fg*

SQL-Code:

Create Procedure SP_GETROLESONUSER (
    THEUSERNAME VarChar(31))
Returns (
    THEROLES VarChar(31))
As
Begin
  For Select
    rdb$user_privileges.rdb$relation_name as RoleName
  From
    rdb$user_privileges
  Where
   (rdb$user_privileges.rdb$user=:TheUserName) and
   (rdb$user_privileges.rdb$object_type=13) into :TheRoles do
  Begin
    Suspend;
  End
End
- Compile (der Blitz)
- die Meldung bestätigen
- F12 (Query-Editor)
select * from SP_GETROLESONUSER('KLU');
- F9

Ergebnis sind die Roles (auch mehrere).

Diese "selectable stored procedure" wird also wie eine Query benutzt,
die allerdings einen Parameter hat.


Kurze Erklärung:
- THEUSERNAME ist der Input-Parameter
es wird Groß-Buchstaben verlangt
sonst muesste man in der SP ein

  (rdb$user_privileges.rdb$user=:TheUserName) schreiben.

- THEROLES ist Ausgabeparameter

- Das "For Select Into" erzeugt einen Cursor

- das Suspend wartet solange, bis der Client den Datensatz abholt (fetch)



UND WOZU DAS ALLES ?

1.
Der Code kann von verschiedenen Programmen benutzt werden.

2.
Die gleiche SP, allerdings mit einem anderen Code intern,
kann man für mehrere Datenbanken (Oracle) schreiben



Heiko
PS:
Die SP hat nichts mit der Role-Zuweisung zu tun,
dafür gibt es GRANT.
Heiko
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz