getTablePrivileges 方法 (SQLServerDatabaseMetaData)

下载 JDBC 驱动程序

检索可用于给定目录、架构或表名称模式的各表的访问权限的说明。

语法

  
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog,  
                                             java.lang.String schema,  
                                             java.lang.String table)  

参数

catalog

一个包含目录名称的字符串 。 对此参数提供 Null 值指示无需使用目录名称。

架构

一个包含架构名称模式的字符串 。 对此参数提供 Null 值指示无需使用架构名称。

table

一个包含表名称模式的字符串

返回值

一个 SQLServerResultSet 对象。

例外

SQLServerException

备注

此 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 类