問題タブ [sql-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
198 参照

derby - Derbyを使用して実際のテーブルなしでSQLを解析しますか?

私はDerbyを初めて使用し、その中のSQLパーサーを実際のデータベースとは別に使用できるかどうかを判断しようとしています。たとえば、SQLステートメントで参照されているテーブルのリストを取得できるようにしたいです。これは、特定のjdbc組み込みドライバー接続からContextManagerを取得し、クエリツリーから結果セットノードを取得することで実行できると思います(http://rickosborne.org/blog/2010/02/derby-svn-coldfusionを参照)。 -sql-parser /)。

私が遭遇している問題は、SQLのテーブルが実際にはDerby DBに存在しないことです(そしてDerbyはこれを正しくチェックし、java.sql.SQLSyntaxErrorExceptionで応答します:"テーブル/ビュー'FOO'は存在しません。")それで... prepareStatement(sql)を実行するときに、テーブルの存在がチェックされないように接続を構成する方法はありますか?(接続はdriver.connect( "jdbc:derby:memory:dummy; create = true"、props)を使用して作成されます)

0 投票する
0 に答える
1559 参照

c# - Microsoft.SqlServer.TransactSql.ScriptDom : TSqlTokenType

次のような SQL クエリで解析する場合:

TSqlParserToken を繰り返し処理すると、TokenType というプロパティがあります。私は以下を取得します:

パーサーがこれらの値を返すためには、基礎となるスキーマを認識している必要があることを理解しています。より意識的なトークンのセットを返すことができるように、基礎となるオブジェクトをパーサーにフィードすることは可能ですか?

TSqlTokenType 列挙型には、'Table'、'Schema'、'View' などの値もあるため、これは可能であるに違いありません。資料が少ないだけです。ダン

0 投票する
2 に答える
1372 参照

c# - ストアド プロシージャ パーサー

何百ものストアド プロシージャを解析して、出力変数「@FirstName」、使用するテーブル、および「MyTbl.FirstName」から取得するフィールドを具体的に取得しようとしています。変数はかなり簡単に収集できますが、テーブル名の収集に問題があります。誰でも助けてもらえますか?

これまでのところ、StreamReader を使用して SQL ファイルを解析し、行ごとに情報を収集することで、これらのフィールドのほとんどを引き出すことができました。たとえば、行に出力が含まれている場合、行の最初のテキストがおそらく@変数。

そこから @Variable をディクショナリに保存できます。行に @Variable が含まれていて、「=」も含まれている場合は、対応するフィールドが一致していることがわかります。

今、テーブル名の収集に問題があります。フィールド名からテーブル エイリアスを簡単に解析できますが、エイリアスとテーブル名の一致に問題があります。これを行う良い方法を知っている人はいますか?これが私がこれまで試してきたことです:

コード:

ほとんどのエイリアスは文字の後に改行が続くため、これはテーブルのエイリアスと一致すると思いましたが、これまでのところ、テーブル名を取得できませんでした...誰かアイデアがありますか?

0 投票する
1 に答える
130 参照

php - mysql create クエリを解析し、存在するテーブルとの違いを取得するための PHP ライブラリ

「CREATE TABLE」クエリを取得し、このテーブルが既に存在する場合は差分を返すPHPライブラリを検索しますたとえば、テーブル「table1」があります

次に、クエリを解析します。

パーサーは 2 つのクエリを返します。

それができるPHPライブラリを教えてもらえますか?

0 投票する
3 に答える
6782 参照

java - JSQLPARSE を使用して SQL からテーブルと列の名前を取得する方法

初めて JSQLPARSER を使用しています。動的に来る SQL ファイルがいくつかあります。その SQL からテーブルと列の名前を読み取る必要があります。グーグルでたくさん調べた後、JSQLPARSERで試しました。ファイルから列名を読み取ろうとしていますが、式が原因で列名を読み取ることができません。間違ったコードを修正してください。CLASSCASTEXCEPTION コードを取得しています:

0 投票する
2 に答える
1461 参照

java - jsqlparser ライブラリからパッケージをインポートできません

jar jsqlparser-0.7.0 を Netbeans IDE に追加しました (ライブラリを右クリック / Jar ファイルを追加) が、まだそのパッケージを使用できません。何が理由でしょうか。ライブラリは 2011 年に作成されていますが、JDK7 でサポートされていない可能性がありますか?

ここに画像の説明を入力

0 投票する
0 に答える
401 参照

java - Eclipse DTP の SQLQueryParserManager を使用してサブクエリの詳細を抽出する

Eclipse SQLQueryParserManager を使用して、SQL クエリからテーブル名と列名を抽出しています。通常のクエリを使用すると、正しい詳細が得られます。しかし、クエリ内でサブクエリを使用すると、サブクエリの詳細を取得できません。

これが私がやったことです:

サブクエリの結果を得るために、私が使用しなければならないものを誰かが提案できますか?