有没有人知道(在java中)检查用户对特定表的权限的方法?它必须适用于大多数数据库。 SELECT权限很容易检查(只是尝试执行一个简单的SELECT语句),但是如何检查INSERT权限?
答案 0 :(得分:1)
您可以使用DatabaseMetaData
获取此信息。它应该适用于大多数情况。但是,如果特权无法以这种抽象方式表示,则在特殊情况下可能不准确:
DatabaseMetaData metaData connection.getMetaData();
metaData.getTablePrivileges();
metaData.getColumnPrivileges();
答案 1 :(得分:0)
虽然不是直接的解决方案,但我想到的唯一选择是使用TRY CATCH块,发出INSERT语句,然后检查在异常情况下返回的java.sql.SQLException对象中的错误消息。