在Java程序中怎样动态的检查SQL语句是否正确?

AYellow 2002-07-16 08:37:03
sql语句是从配置文件中读入的,通常是有参数的
包括普通的查询语句和存储过程

select * from test_table where field1=?,field2=?
{call store_procedure_name(?,?)}

数据库是已经存在的

因为配置文件中的SQL语句如果写错往往很难找到真正的错误根源,我希望在读取配置文件时(也就是运行时)检查SQL语句是否正确,其中参数的类型在配置文件中有定义,不过不是java.sql.Types指定的类型,而是我自定义的Java类型,它包括简单类型和String,date等
...全文
853 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
woowindice 2002-07-16
  • 打赏
  • 举报
回复
在程序中动态检查sql语法好象没有任何一种开发工具提供这种功能吧
还是自己先在sql/plus下检查一下,我都这么做的:)效果不错
woowindice 2002-07-16
  • 打赏
  • 举报
回复
在程序中动态检查sql语法好象没有任何一种开发工具提供这种功能吧
还是自己先在sql/plus下检查一下,我都这么做的:)效果不错
nielinjie 2002-07-16
  • 打赏
  • 举报
回复
这还不简单,先执行一把,错了就认为sql语句有错,成功了就认为sql没有错,反正最后都rockback
qxjavajava 2002-07-16
  • 打赏
  • 举报
回复
把那条sql语句显示出来。你自己检查吧。
一定更智能。
pengji 2002-07-16
  • 打赏
  • 举报
回复
使用TRY,CATCH不就可以了嘛!然后打印错误消息!
要不就做一个语法检查器,不过会很麻烦的!哈哈!
playgb 2002-07-16
  • 打赏
  • 举报
回复
可以先检查SQL正确性, 然后在Java程序中动态的检查SQL语句是否正确!
javapro 2002-07-16
  • 打赏
  • 举报
回复
用try catch不行吗,在catch提示出错信息
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在Java开发,验证SQL语句的语法正确性是保障程序稳定运行的关键环节。为了实现这一目标,我们通常可以借助数据库驱动的API或第三方库。其,antlr-2.7.6rc1.jar和commons-lang.jar是两个常用的工具库。 antlr-2.7.6rc1.jar是ANTLR(ANother Tool for Language Recognition)的一个版本。ANTLR是一个功能强大的解析器生成器,能够处理结构化文本或二进制文件。在Java,它常用于解析SQL语句,生成抽象语法树(AST),从而实现语法检查。通过定义SQL语法规则文件(通常是.g或.gram文件),ANTLR可以生成Java代码,其包含解析器。当输入SQL字符串时,如果语法有误,解析器会抛出异常;若解析成功,则说明SQL语法正确。 commons-lang.jar是Apache Commons Lang项目的一部分,它提供了大量实用的Java工具类,补充了Java API未涵盖的功能。在SQL语法检查,它可以帮助我们进行字符串处理(如去除空格、检查特殊字符)以及构建更优雅的异常处理和日志记录机制,从而提高代码的可读性和维护性。 以下是一个使用ANTLR检查SQL语法的示例代码: 在这个例子,SQLLexer和SQLParser是根据SQL语法规则文件自动生成的。如果SQL语句有效,isValid方法返回true;否则,捕获RecognitionException异常并返回false。 总结来说,ANTLR和Apache Commons Lang库的结合为Java程序提供了高效的SQL语法检查功能。ANTLR专注于SQL语句的解析和验证,而Commons Lang则提供了丰富的辅助功能,使得代码更加

62,627

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧