2012-06-14 38 views

回答

1

您可以使用DatabaseMetaData来获取此信息。它应该在大多数情况下工作。但是,它可能是在特殊情况下不准确的,如果特权不能用这种抽象的方式来表示:

DatabaseMetaData metaData connection.getMetaData(); 
metaData.getTablePrivileges(); 
metaData.getColumnPrivileges(); 
+0

谢谢nosid,它的工作原理! –

0

虽然不是直接的解决方案但在我脑海中唯一的选择是使用try catch块,发出INSERT语句,然后在异常情况下返回java.sql.SQLException对象中返回的错误消息。

+0

由于许多原因,这不是一个好主意。例如,因为数据库中可能存在一些触发器。 –