getTablePrivileges 方法 (SQLServerDatabaseMetaData)
检索可用于给定目录、架构或表名称模式的各表的访问权限的说明。
语法
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
参数
catalog
一个包含目录名称的字符串 。 对此参数提供 Null 值指示无需使用目录名称。
架构
一个包含架构名称模式的字符串 。 对此参数提供 Null 值指示无需使用架构名称。
table
一个包含表名称模式的字符串。
返回值
一个 SQLServerResultSet 对象。
例外
备注
此 getTablePrivileges 方法是由 java.sql.DatabaseMetaData 接口中的 getTablePrivileges 方法指定的。
由 getTablePrivileges 方法返回的结果集将包含以下信息:
名称 | Type | 说明 |
---|---|---|
TABLE_CAT | 字符串 | 目录名称。 |
TABLE_SCHEM | 字符串 | 表架构名称。 |
TABLE_NAME | 字符串 | 表名称。 |
GRANTOR | 字符串 | 授予访问权限的对象。 |
GRANTEE | 字符串 | 获得访问权限的对象。 |
PRIVILEGE | 字符串 | 授予的访问权限的类型。 |
IS_GRANTABLE | 字符串 | 指示是否允许被授权者向其他用户授予权限。 |
注意
有关 getTablePrivileges 方法返回的数据的详细信息,请参阅 SQL Server 联机丛书中的“sp_table_privileges (Transact-SQL)”。
示例
以下示例演示了如何使用 getTablePrivileges 方法返回针对 AdventureWorks2022 示例数据库中 Person.Contact 表的访问权限。
public static void executeGetTablePrivileges(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getTablePrivileges("AdventureWorks", "Person", "Contact");
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();
}
}
另请参阅
SQLServerDatabaseMetaData 方法
SQLServerDatabaseMetaData 成员
SQLServerDatabaseMetaData 类