次の方法で共有


getColumnPrivileges メソッド (SQLServerDatabaseMetaData)

JDBC ドライバーのダウンロード

テーブルの列に対するアクセス権の記述を取得します。

構文

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

パラメーター

catalog

カタログ名を含む文字列です。

schema

スキーマ名を含む文字列です。

テーブル

テーブル名を含む文字列です。

col

列名のパターンを含む文字列です。

戻り値

SQLServerResultSet オブジェクトです。

例外

SQLServerException

解説

この getColumnPrivileges メソッドは、java.sql.DatabaseMetaData インターフェイスの getColumnPrivileges メソッドで規定されています。

getColumnPrivileges メソッドによって返される結果セットには、次の情報が含まれます。

名前 種類 説明
TABLE_CAT String カタログ名。
TABLE_SCHEM String テーブル スキーマ名です。
TABLE_NAME String テーブル名。
COLUMN_NAME String 列名。
GRANTOR String アクセス許可を与えるオブジェクトです。
GRANTEE String アクセスを受け入れるオブジェクトです。
PRIVILEGE String 許可されたアクセスの種類です。
IS_GRANTABLE String 権限を与えられたユーザーが他のユーザーへのアクセスを許可できるかどうかを示します。

Note

getColumnPrivileges メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_column_privileges (Transact-SQL)」を参照してください。

次に示す getColumnPrivileges メソッドの使い方の例では、AdventureWorks2022 サンプル データベースの Person.Contact テーブルの FirstName 列に対するアクセス権を取得します。

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();  
   }  
}  

参照

SQLServerDatabaseMetaData のメソッド
SQLServerDatabaseMetaData のメンバー
SQLServerDatabaseMetaData クラス