繁体   English   中英

禁止使用JDBC进行所有删除/更新/插入?

[英]Disallow all delete/update/insert using JDBC?

在我的一个应用程序中,我为用户提供了对数据库发出直接SQL查询的能力。 他们将SQL文本键入文本框,然后我就像使用JDBC一样运行它。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM