Retrieves a description of the access rights for each table that is available in the given catalog, schema, or table name pattern.

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

Parameters

catalog

A string that contains the catalog name. Providing a null to this parameter indicates that the catalog name does not need to be used.

schema

A string that contains the schema name pattern. Providing a null to this parameter indicates that the schema name does not need to be used.

table

A string that contains the table name pattern.

Return Value

A SQLServerResultSet object.

Exceptions

SQLServerException

Remarks

This getTablePrivileges method is specified by the getTablePrivileges method in the java.sql.DatabaseMetaData interface.

The result set returned by the getTablePrivileges method will contain the following information:

Name Type Description

TABLE_CAT

string

The catalog name.

TABLE_SCHEM

string

The table schema name.

TABLE_NAME

string

The table name.

GRANTOR

string

The object granting the access.

GRANTEE

string

The object receiving the access.

PRIVILEGE

string

The type of access granted.

IS_GRANTABLE

string

Indicates if the grantee is allowed to grant access to other users.

Note: For more information about the data returned by the getTablePrivileges method, see "sp_table_privileges (Transact-SQL)" in SQL Server Books Online.

Example

The following example demonstrates how to use the getTablePrivileges method to return the access rights for the Person.Contact table in the SQL Server 2005 AdventureWorks sample database.

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

See Also