【发布时间】:2016-01-21 16:28:54
【问题描述】:
我正在使用 jdbc 连接到数据库,从数据库中获取所有模式和表的列表(我假设某些数据库此时可能只返回当前用户可以查询的表,但有些数据库返回完整的表列表) 并且当用户尝试查询某些表时,他会收到“权限不足”错误。 有没有办法只获取表,用户只能使用 jdbc 功能进行查询?无需向数据库写入特殊查询。
现在我在看
DatabaseMetaData dbMeta = connection.getMetaData()
dbMeta.getTablePrivileges(null, null, null);
但是从这个查询的结果来看,用户究竟可以查询哪些表还不是很清楚。
目前我正在使用 SAP HANA 数据库,但通常它可能是任何数据库,所以我正在寻找一些通用方法。
【问题讨论】:
-
你得到了什么输出,还有什么不清楚的地方?
-
请查看 Ashraff Ali Wahab 的帖子和我的评论。我有文档中描述的结果集,我不清楚这个结果集是否与我正在查询的用户相关,或者这是数据库中所有表的列表?