【问题标题】:Disallow all delete/update/insert using JDBC?禁止所有使用 JDBC 的删除/更新/插入?
【发布时间】:2012-06-14 10:42:07
【问题描述】:

在我的一个应用程序中,我为用户提供了针对数据库发出直接 SQL 查询的能力。他们将 SQL 文本输入到文本框中,然后我完全按照使用 JDBC 的方式运行它。

显然我非常信任这些用户。但我想以编程方式将它们限制为仅发出 SELECT 语句。他们不应该删除/更新/插入。我想也许 JDBC 本身可以帮助我。我在 java.sql.Statement 类中找到了 executeQuery() 方法。但是该方法允许我调用 DELETE(也可能是 UPDATE 和 INSERT)。它确实抛出了一个异常,因为没有返回 ResultSet,但只有在删除记录之后。

所以,我在这里问,在 JDBC 中是否有任何方法可以确保仅在查询时执行 SQL 语句?还是我必须自己解析声明并确保它符合我的意愿?

【问题讨论】:

    标签: java jdbc


    【解决方案1】:

    我建议您使用没有 DELETE / UPDATE 和 INSERT 权限的用户连接到 DBMS。

    【讨论】:

    • 是的,可能是一个更优雅的解决方案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多