[英]Get All tables allowed to user with jdbc
我正在使用jdbc连接到数据库,从数据库中获取所有模式和表的列表(我假设此时某些数据库可能仅返回当前用户可以查询的表,而某些数据库则返回表的完整列表)以及何时用户尝试查询某些表,他会得到“权限不足”错误。 有没有办法只获取表,用户只能使用jdbc功能进行查询? 无需向数据库编写特殊查询。
现在我在看
DatabaseMetaData dbMeta = connection.getMetaData()
dbMeta.getTablePrivileges(null, null, null);
但是从查询结果来看,尚不清楚用户可以查询哪些表。
目前,我正在使用SAP HANA数据库,但通常它可以是任何数据库,因此我正在寻找一些常用方法。
请看
您必须从ResultSet中获取每一行,并查询包含表名的列名TABLE_NAME和包含对每个表的访问权的PRIVILEGE。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.