[Firebird] Via SQL neuen Benutzer anlegen ?



  • Hallo,
    weiss jemand ob und wie man neue Benutzer für eine Firebird-Datenbank anlegen kann ?

    Ich hab bisher nur die Möglichkeit gesehen via Kommandozeilen-Tool "gsec" neue Benutzer anzulegen, ich würd das aber gerne via irgendeiner SQL-Anweisung direkt von meiner Anwendung machen lassen...



  • #include "ibpp.h"

    Database DatabaseFactory(const std::string& ServerName,
    	const std::string& DatabaseName, const std::string& [b]UserName[/b],
    		const std::string& [b]UserPassword[/b], const std::string& RoleName,
    			const std::string& CharSet, const std::string& CreateParams);
    


  • Methods (User Management)

    void AddUser(const User& user)
    Creates a user (or fails if it already exists). The key is the User::username field. All other fields are stored, provided they are not empty strings or zeroes.

    ***void GetUser(User& user)***Lookups the user identified by the User::username field (fails if not found) and retrieve its information.

    void GetUsers(std::vector<User>& users)
    Retrieves all users and their information.

    void ModifyUser(const User& user)
    Lookups the user identified by the User::username field (fails if not found) and update its information with all User members which are not empty strings or zeroes. That is to update only the middlename, leaving other fields intact, fill in only the username (for lookup) and the middlename (for udpate). Leave the others fields to empty strings and the userid and groupid set at zero : they won’t be updated.

    void RemoveUser(const std::string& username)
    Remove a user, looking it up through its username. Fails if the user is not found.



  • User gehören bei Firebird quasi zum Betriebssystem und haben einfach nur entsprechende Berechtigungen auf der Datebank. Es gibt auch keine User Information in irgendwelchen System Tabellen oder Views. Finde ich auch sehr bedauerlich, da ich alles über ADO mache und auch keine Lust habe, das Interbase API zu nutzen.


Anmelden zum Antworten