SQL構文を検証するJavaライブラリはありますか? [閉まっている]
質問
これが存在するかどうかわからないので、他の人の知恵をタップすると思いました。
SQLクエリの構文を検証するために使用できるJavaライブラリがあるかどうか疑問に思いました。一般的なSQL仕様から多くの逸脱があることを知っているので、おそらくSQL:2006のようなものに対してのみ機能するでしょうが、それは確かに十分でしょう。
私の目標は、DBに対して実行を試みる必要なく、単体テストの目的でこれを使用することです。私はそれが限られた用途のものであることを知っていますが、それはまだ有用でしょう。
ありがとう!
他のヒント
おそらくAntlrを使用できます。多くの SQL文法および Javaライブラリ、およびさまざまなJava IDEのプラグイン。
またはアドバイスされているように、 SQuirreL SQLなどのオープンソースSQLユーティリティのパーサーを使用します。クライアント。
一般的なSQLパーサーはオフラインSQL構文チェック。サポートされているデータベース:Oracle、DB2、MySQL、SQL Server、Teradata、PostgreSQL。
JSQLパーサーをお試しください。
検証に加えて、クエリの意味のある表現を取得します。
これにより、たとえば、「特定の」のみを受け入れることができます。コマンド;操作
クエリ、「prettify」それなど。
HSQL から解析コードを抽出できる場合があります。これはJavaおよびオープンソース。
Apache Derby は、Javaで完全に実装され、 Apacheライセンス、バージョン2.0 。以前は IBM Cloudscape として知られていました。
org.apache.derby.impl.sql
の解析コードを再利用しようとする場合があります。
JOOQ を使用すると、SQLで間違いを犯すことはありません。 Javaコンパイラがそれを処理します。