Share via


getTablePrivileges 方法 (SQLServerDatabaseMetaData)

下載 JDBC 驅動程式

擷取各個資料表之存取權限的描述,這些資料表會透過給定的目錄、結構描述或資料表名稱模式提供。

語法

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

參數

catalog

包含目錄名稱的 String。 提供 null 給這個參數,將指出不需要使用目錄名稱。

schema

包含結構描述名稱模式的 String。 提供 null 給這個參數,將指出不需要使用結構描述名稱。

table

包含資料表名稱模式的 String

傳回值

SQLServerResultSet 物件。

例外狀況

SQLServerException

備註

這個 getTablePrivileges 方法是由 java.sql.DatabaseMetaData 介面中的 getTablePrivileges 方法指定。

透過 getTablePrivileges 方法所傳回的結果將包含下列資訊:

名稱 類型 描述
TABLE_CAT String 目錄的名稱。
TABLE_SCHEM String 資料表結構描述名稱。
TABLE_NAME String 資料表名稱。
GRANTOR String 授與存取權的物件。
GRANTEE String 接收存取權的物件。
PRIVILEGE String 授與的存取類型。
IS_GRANTABLE String 指出是否允許被授與者授與存取權給其他使用者。

注意

如需 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 類別