SQL構文を検証するJavaライブラリはありますか? [閉まっている]

StackOverflow https://stackoverflow.com/questions/141499

  •  02-07-2019
  •  | 
  •  

質問

これが存在するかどうかわからないので、他の人の知恵をタップすると思いました。

SQLクエリの構文を検証するために使用できるJavaライブラリがあるかどうか疑問に思いました。一般的なSQL仕様から多くの逸脱があることを知っているので、おそらくSQL:2006のようなものに対してのみ機能するでしょうが、それは確かに十分でしょう。

私の目標は、DBに対して実行を試みる必要なく、単体テストの目的でこれを使用することです。私はそれが限られた用途のものであることを知っていますが、それはまだ有用でしょう。

ありがとう!

役に立ちましたか?

解決

そのようなライブラリはないと思います。 SQL構文には派生物が多すぎます。

可能な解決策は、 SmallSQL のようなオープンソースの純粋なJava DBMSの一部を使用することです。このプロジェクトでは、 SQLParser 。接続に必要な参照は非常に簡単に削除できます。

他のヒント

おそらく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コンパイラがそれを処理します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top