getColumnPrivileges-Methode (SQLServerDatabaseMetaData)
Ruft eine Beschreibung der Zugriffsrechte für die Spalten in einer Tabelle ab.
Syntax
public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String col)
Parameter
catalog
Ein String-Objekt, das den Katalognamen enthält.
schema
Ein String-Objekt, das den Schemanamen enthält.
Tabelle
Ein String-Objekt, das den Tabellennamen enthält.
col
Ein String-Objekt, das das Spaltennamensmuster enthält.
Rückgabewert
Ein SQLServerResultSet-Objekt.
Ausnahmen
Bemerkungen
Diese getColumnPrivileges-Methode wird von der getColumnPrivileges-Methode in der java.sql.DatabaseMetaData-Schnittstelle angegeben.
Das von der getColumnPrivileges-Methode zurückgegebene Resultset enthält folgende Informationen:
Name | Typ | BESCHREIBUNG |
---|---|---|
TABLE_CAT | String | Der Katalogname. |
TABLE_SCHEM | String | Der Tabellenschemaname. |
table_name | String | Der Tabellenname. |
COLUMN_NAME | String | Der Spaltenname. |
GRANTOR | String | Das Objekt, von dem der Zugriff gewährt wird. |
GRANTEE | String | Das Objekt, von dem der Zugriff empfangen wird. |
PRIVILEGE | String | Der Typ des gewährten Zugriffs. |
IS_GRANTABLE | String | Gibt an, ob der Empfänger seinerseits anderen Benutzern Zugriff gewähren darf. |
Hinweis
Weitere Informationen zu den Daten, die von der getColumnPrivileges-Methode zurückgegeben werden, finden Sie in der SQL Server-Onlinedokumentation unter „sp_column_privileges (Transact-SQL)“.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie mithilfe der getColumnPrivileges-Methode die Zugriffsrechte für die Spalte „FirstName“ der Tabelle „Person.Contact“ aus der AdventureWorks2022-Beispieldatenbank zurückgegeben werden können.
public static void executeGetColumnPrivileges(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getColumnPrivileges("AdventureWorks", "Person", "Contact", "FirstName");
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Weitere Informationen
SQLServerDatabaseMetaData-Methoden
SQLServerDatabaseMetaData-Elemente
SQLServerDatabaseMetaData-Klasse