检索关于表中各列的访问权限的说明。

语法

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

参数

catalog

包含目录名称的 String

schema

包含架构名称的 String

table

包含表名称的 String

col

包含列名称模式的 String

返回值

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

指示是否允许被授权者向其他用户授予权限。

注意: 有关 getColumnPrivileges 方法返回的数据的详细信息,请参阅 SQL Server 联机丛书中的“sp_column_privileges (Transact-SQL)”。

示例

以下示例演示了如何使用 getColumnPrivileges 方法返回 SQL Server 2005 AdventureWorks 示例数据库中 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 成员