Java/Database SQL JDBC/Privileges

Материал из Java эксперт
Перейти к: навигация, поиск

Get Column Privileges Oracle

   <source lang="java">

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; public class GetColumnPrivilegesOracle {

 public static void main(String[] args) throws Exception {
   Connection conn = null;
   conn = getConnection();
   String catalogPattern = conn.getCatalog();
   String schemaPattern = "SYSTEM";
   String tableNamePattern = "HELP";
   ResultSet privileges = null;
   DatabaseMetaData meta = conn.getMetaData();
   // The "_" character represents any single character.
   // The "%" character represents any sequence of zero or more characters.
   privileges = meta.getTablePrivileges(catalogPattern, schemaPattern, tableNamePattern);
   while (privileges.next()) {
     String catalog = privileges.getString("TABLE_CAT");
     String schema = privileges.getString("TABLE_SCHEM");
     String tableName = privileges.getString("TABLE_NAME");
     String privilege = privileges.getString("PRIVILEGE");
     String grantor = privileges.getString("GRANTOR");
     String grantee = privileges.getString("GRANTEE");
     String isGrantable = privileges.getString("IS_GRANTABLE");
     
     System.out.println("table name:" + tableName);
     System.out.println("catalog:" + catalog);
     System.out.println("schema:" + schema);
     System.out.println("privilege:" + privilege);
     System.out.println("grantor:" + grantor);
     System.out.println("isGrantable:" + isGrantable);
     System.out.println("grantee:" + grantee);
     conn.close();
   }
 }
 public static Connection getConnection() throws Exception {
   String driver = "oracle.jdbc.driver.OracleDriver";
   String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
   String username = "system";
   String password = "password";
   Class.forName(driver); // load Oracle driver
   return DriverManager.getConnection(url, username, password);
 }

}

      </source>
   
  
 
  



Get Table Privileges

   <source lang="java">

import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Main {

 public static void main(String[] args) throws Exception {
   Connection conn = getMySqlConnection();
   System.out.println("Got Connection.");
   Statement st = conn.createStatement();
   st.executeUpdate("drop table survey;");
   st.executeUpdate("create table survey (id int,name varchar(30));");
   st.executeUpdate("insert into survey (id,name ) values (1,"nameValue")");
   ResultSet privileges = null;
   DatabaseMetaData meta = conn.getMetaData();
   // The "_" character represents any single character.
   // The "%" character represents any sequence of zero
   // or more characters.
   privileges = meta.getTablePrivileges(conn.getCatalog(), "%", "survey");
   while (privileges.next()) {
     String catalog = privileges.getString("TABLE_CAT");
     String schema = privileges.getString("TABLE_SCHEM");
     String tableName = privileges.getString("TABLE_NAME");
     String privilege = privileges.getString("PRIVILEGE");
     String grantor = privileges.getString("GRANTOR");
     String grantee = privileges.getString("GRANTEE");
     String isGrantable = privileges.getString("IS_GRANTABLE");
     System.out.println("table name:" + tableName);
     System.out.println("catalog:"+catalog);
     System.out.println("schema:"+ schema);
     System.out.println("privilege:"+privilege);
     System.out.println("grantor:"+grantor);
     System.out.println("isGrantable:"+isGrantable);
     System.out.println("grantee:"+grantee);
   }
   st.close();
   conn.close();
 }
 private static Connection getHSQLConnection() throws Exception {
   Class.forName("org.hsqldb.jdbcDriver");
   System.out.println("Driver Loaded.");
   String url = "jdbc:hsqldb:data/tutorial";
   return DriverManager.getConnection(url, "sa", "");
 }
 public static Connection getMySqlConnection() throws Exception {
   String driver = "org.gjt.mm.mysql.Driver";
   String url = "jdbc:mysql://localhost/demo2s";
   String username = "oost";
   String password = "oost";
   Class.forName(driver);
   Connection conn = DriverManager.getConnection(url, username, password);
   return conn;
 }
 public static Connection getOracleConnection() throws Exception {
   String driver = "oracle.jdbc.driver.OracleDriver";
   String url = "jdbc:oracle:thin:@localhost:1521:caspian";
   String username = "mp";
   String password = "mp2";
   Class.forName(driver); // load Oracle driver
   Connection conn = DriverManager.getConnection(url, username, password);
   return conn;
 }

}


      </source>