Package de.svws_nrw.db.utils.schema
Klasse DBRootManager
java.lang.Object
de.svws_nrw.db.utils.schema.DBRootManager
Diese Klasse dient dem administrativen Zugriff auf eine Datenbank. Der in der
DB-Konfiguration übergebene Benutzer muss über entsprechende administrative Rechte
(z.B. root-Rechte) in der Datenbank verfügen.
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic DBRootManager
create
(DBEntityManager conn) Erstellt für die angebene Datenbank-Verbindung einen DB-Root-Manager.static boolean
createDBAdminUser
(DBEntityManager conn, String nameUser, String pwUser, String nameSchema) Erstellt einen neuen Datenbank-Benutzer mit administrativen Rechten auf dem angebenen Schema.boolean
createDBSchemaWithAdminUser
(String nameUser, String pwUser, String nameSchema) Erstellt ein neues Datenbank-Schema und einem Benutzer mit administrativen Rechten auf diesem Schema.boolean
dbSchemaExists
(String nameSchema) Prüft, ob das angegebene Datenbank-Schema bereits existiert oder nichtboolean
dbUserExists
(String nameUser) Prüft, ob der angegebene Datenbank-Benutzer breits existiert oder nichtboolean
dropDBSchemaIfExists
(String nameSchema) Verwirft das Datenbank-Schema mit dem angegebenen Namen, sofern es existiert.boolean
dropDBUserIfExists
(String nameUser) Verwirft einen Datenbank-Benutzer, sofern dieser existiert.static boolean
grantAdminRights
(DBEntityManager conn, String nameUser, String nameSchema) Vergibt administrative Rechte für das angegebene Schema nameSchema an den angegebenen Datenbank-Benutzer nameUser auf der Verbindung, welche durch den angegebenen DBEntityManager conn aufgebaut ist.boolean
Gibt zurück, ob der DB-Root-Manager eine aktive Datenbankverbindung besitzt.static boolean
isReservedSchemaName
(String name) Prüft, ob der übergebene Name ein reservierter oder ungültiger Schema-Name ist.static boolean
isReservedUserName
(String name) Prüft, ob der übergebene Name ein reservierter oder ungültiger DB-Benutzer-Name ist.static boolean
recreateDB
(DBConfig config, String user_root, String pw_root, Logger logger) Erstelle als root-Benutzer ein neuese Datenbank-Schema bzw. eine neue Datenbankdatei.
-
Methodendetails
-
create
Erstellt für die angebene Datenbank-Verbindung einen DB-Root-Manager.- Parameter:
conn
- die Datenbank-Verbindung- Gibt zurück:
- der DB-Root-Manager
-
isConnected
public boolean isConnected()Gibt zurück, ob der DB-Root-Manager eine aktive Datenbankverbindung besitzt.- Gibt zurück:
- true, wenn die Datenbankverbindung aktiv ist, sonst false
-
isReservedSchemaName
Prüft, ob der übergebene Name ein reservierter oder ungültiger Schema-Name ist.- Parameter:
name
- der Schema-Name- Gibt zurück:
- true, falls der Name reserviert oder ungültig ist.
-
isReservedUserName
Prüft, ob der übergebene Name ein reservierter oder ungültiger DB-Benutzer-Name ist.- Parameter:
name
- der DB-Benutzer-Name- Gibt zurück:
- true, falls der Name reserviert oder ungültig ist.
-
createDBAdminUser
public static boolean createDBAdminUser(DBEntityManager conn, String nameUser, String pwUser, String nameSchema) throws DBException Erstellt einen neuen Datenbank-Benutzer mit administrativen Rechten auf dem angebenen Schema.- Parameter:
conn
- die Datenbank-VerbindungnameUser
- der Name des zu erstellenden BenutzerspwUser
- das Benutzerkennwort des zu erstellenden BenutzersnameSchema
- das Schema, auf dem der neue Benutzer seine Rechte bekommen soll- Gibt zurück:
- true, wenn der Benutzer erstellt wurde, sonst false
- Löst aus:
DBException
- wenn ein Verbindungsfehler auftritt
-
grantAdminRights
Vergibt administrative Rechte für das angegebene Schema nameSchema an den angegebenen Datenbank-Benutzer nameUser auf der Verbindung, welche durch den angegebenen DBEntityManager conn aufgebaut ist. Diese Verbindung muss durch einen DB-Benutzer mit entsprechenden administrativen Rechten auf dem angebenen Schema aufgebaut sein.- Parameter:
conn
- die Datenbank-VerbindungnameUser
- der Name des Benutzers dem die adminstrativen Rechte gewährt werden sollennameSchema
- das Schema, auf dem der neue Benutzer seine Rechte bekommen soll- Gibt zurück:
- true wenn die administrativen Rechte gewährt wurden und ansonsten false
-
createDBSchemaWithAdminUser
public boolean createDBSchemaWithAdminUser(String nameUser, String pwUser, String nameSchema) throws SVWSKonfigurationException, DBException Erstellt ein neues Datenbank-Schema und einem Benutzer mit administrativen Rechten auf diesem Schema. Existiert der Benutzer bereits, so werden lediglich Admin-Rechte auf das neue Schema hinzugefügt.- Parameter:
nameUser
- der Name des zu erstellenden BenutzerspwUser
- das Benutzerkennwort des zu erstellenden BenutzersnameSchema
- das Schema, auf dem der neue Benutzer seine Rechte bekommen soll- Gibt zurück:
- true, wenn das Schema und der Benutzer erstellt wurden, sonst false
- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Erstellen oder Anpassen der SVWS-Konfiguration auftrittDBException
- wenn ein Verbindungsfehler auftritt
-
dbSchemaExists
Prüft, ob das angegebene Datenbank-Schema bereits existiert oder nicht- Parameter:
nameSchema
- der Name des Datenbank-Schemas- Gibt zurück:
- true, falls das Schema existiert, sonst false
-
dropDBSchemaIfExists
Verwirft das Datenbank-Schema mit dem angegebenen Namen, sofern es existiert.- Parameter:
nameSchema
- der Name des zu verwerfenden Schemas- Gibt zurück:
- true, falls das Schema erfolgreich entfernt wurde oder nicht existierte, sonst false
- Löst aus:
SVWSKonfigurationException
- falls ein Fehler beim Entfernen der SVWS-Konfiguration auftritt
-
dbUserExists
Prüft, ob der angegebene Datenbank-Benutzer breits existiert oder nicht- Parameter:
nameUser
- der Name des Datenbank-Benutzer- Gibt zurück:
- true, falls der Datenbank-Benutzer existiert, sonst false
-
dropDBUserIfExists
Verwirft einen Datenbank-Benutzer, sofern dieser existiert.- Parameter:
nameUser
- der Name des zu verwerfenden Benutzers- Gibt zurück:
- true, falls der Benutzer erfolgreich entfernt wurde oder der Benutzer nicht vorhanden war, sonst false
-
recreateDB
public static boolean recreateDB(DBConfig config, String user_root, String pw_root, Logger logger) throws DBException Erstelle als root-Benutzer ein neuese Datenbank-Schema bzw. eine neue Datenbankdatei. Ein bereits vorhandenes Schema bzw. eine bereits vorhandene Datei wird zuvor gelöscht.- Parameter:
config
- die Datenbank-Konfiguration mit den Zugriffs-Informationen für den neuen Admin-Benutzeruser_root
- der Benutzername für den Benutzer der mit den "root"-Rechten auf die Datenbank ausgestattet istpw_root
- das Kennwort für den root-Zugriff auf die Datenbanklogger
- ein Logger, welcher die jeweiligen Informationen zu den einzelnen Operationen loggt.- Gibt zurück:
- true im Erfolgsfall und false, falls ein Fehler aufgetreten ist.
- Löst aus:
DBException
- falls ein Fehler auftritt
-