我需要为应用程序找到RDBMS表元数据。通过在java.sql.DatabaseMetaData
上执行查询,我能够找到列元数据,使用java.sql.Statement
存在表和行计数。
如何检查
在桌子上。
我在isReadOnly()
课程中找到了DatabaseMetaData
方法。但它
检索此数据库是否处于只读模式。
有没有办法在桌面级别为RDBMS数据库检查这些功能?
答案 0 :(得分:0)
您正在寻找getTablePrivileges()
检索目录中可用的每个表的访问权限的描述。请注意,表权限适用于表中的一个或多个列。假设此特权适用于所有列是错误的(对于某些系统可能是这样,但并非所有系统都适用。)
ResultSet中的列PRIVILEGE
将包含您要查找的信息。如果我没记错的话,你会在结果中为获得的每个权限获得一行。
正如getTablePrivileges()
的JavaDoc建议的那样,您可能还需要检查getColumnPrivileges() - 但这取决于您的用例和您希望支持的DBMS