簡體   English   中英

獲取jdbc允許用戶使用的所有表

[英]Get All tables allowed to user with jdbc

我正在使用jdbc連接到數據庫,從數據庫中獲取所有模式和表的列表(我假設此時某些數據庫可能僅返回當前用戶可以查詢的表,而某些數據庫則返回表的完整列表)以及何時用戶嘗試查詢某些表,他會得到“權限不足”錯誤。 有沒有辦法只獲取表,用戶只能使用jdbc功能進行查詢? 無需向數據庫編寫特殊查詢。

現在我在看

      DatabaseMetaData dbMeta = connection.getMetaData() 
      dbMeta.getTablePrivileges(null, null, null);

但是從查詢結果來看,尚不清楚用戶可以查詢哪些表。

目前,我正在使用SAP HANA數據庫,但通常它可以是任何數據庫,因此我正在尋找一些常用方法。

請看

http://docs.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getTablePrivileges%28java.lang.String,%20java.lang.String,%20java.lang.String%29

您必須從ResultSet中獲取每一行,並查詢包含表名的列名TABLE_NAME和包含對每個表的訪問權的PRIVILEGE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM