有没有人知道一种方法(在java中)检查用户的特定表的权限?它必须在大多数数据库上工作。 SELECT权限很容易检查(只是试图执行一个简单的SELECT语句),但是如何检查INSERT权限?如何检查java中的数据库表权限? (独立的数据库)
0
A
回答
1
您可以使用DatabaseMetaData
来获取此信息。它应该在大多数情况下工作。但是,它可能是在特殊情况下不准确的,如果特权不能用这种抽象的方式来表示:
DatabaseMetaData metaData connection.getMetaData();
metaData.getTablePrivileges();
metaData.getColumnPrivileges();
0
虽然不是直接的解决方案但在我脑海中唯一的选择是使用try catch块,发出INSERT语句,然后在异常情况下返回java.sql.SQLException对象中返回的错误消息。
+0
由于许多原因,这不是一个好主意。例如,因为数据库中可能存在一些触发器。 –
相关问题
- 1. 如何检查使用JAVA的fmp数据库的数据库用户权限
- 2. 如何检查数据库用户的存在? (独立的数据库)
- 3. 如何在数据库表中检查多个shiro权限?
- 4. 独立数据库
- 5. 如何生成授予数据库用户的数据库表的权限表?
- 6. 将Java嵌入式数据库转换为独立数据库
- 7. Java SQL数据库独立性
- 8. 图数据库:与java api独立
- 9. 部署独立数据库
- 10. Postgres列表数据库的权限
- 11. Unix/C中的数据库独立性
- 12. 如何查看数据库中的数据库JDBC ResultSet in java
- 13. 如何检查数据库
- 14. 如何检查数据库
- 15. 如何同步/检查数据库中的数据到C#中的数据表?
- 16. 数据库权限和ORMs
- 17. LINQ和数据库权限
- 18. SQL数据库权限
- 19. Firebase数据库权限IDE?
- 20. 数据库权限结构
- 21. Webmin数据库权限
- 22. 权限保存数据库
- 23. NETWORK SERVICE数据库权限
- 24. 检查mongo数据库中的数据
- 25. 从数据库获取权限数据
- 26. PostgreSQL:查看数据库连接权限
- 27. 如何授予数据库中所有表的某些权限?
- 28. 如何检查数据库是否存在,该数据库的用户有权连接该数据库 - Laravel
- 29. 如何查询从2个独立的表创建新的数据库表?
- 30. 检查某个用户的数据库权限
谢谢nosid,它的工作原理! –