检索关于表中各列的访问权限的说明。
语法
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。
返回值
异常
注释
此 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 2005AdventureWorks 示例数据库中 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(); } }