質問

私たちは手動にOracle.Weのニーズに私たちのDBを移行としてOracleで働いている組み込みSQLのそれぞれをチェックすることを計画している私の必要性は非常に簡単ですrules.Now異なるSQLに従うことができる少数ます。

私はこのようなクエリが含まれていてもよいファイルを閲覧する必要があります。

文字列のSQL = "選択*テストから場所名=" +テスト+ "と年齢=" +年齢;

があり、ほぼ1000年のファイルがあり、各ファイルは、私は、私はOracleの互換性のあるクエリにこれらのJavaベースのクエリを変換するには、UNIX script.But Iの必要性を介して行わているだけでは、クエリを摘み取るする必要があり、このようなクエリの異なる種類があります。

すなわち。 テストから選択*どこ名=「名前」と年齢=「年齢」

基本的に私はヒキガエルにこのようなものを見てきましたthis.Iにより、クエリの構文をチェックする必要がありますが、私は1000個の以上のファイルを持っているし、手動で各one.Isそこ方法を変更することはできませんか?

私はより多くの私の質問は、

明らかではないが、説明します
役に立ちましたか?

解決

あなたのSQL文字列を構築することではなく文字列の連結よりもPreparedStatement.bindを(...)を使用する必要があり、パフォーマンスおよびセキュリティ上の理由ます。

私は修正する必要があり、コードを固定する以外に、この問題に取り組むための方法を知っていません。あなたが一般的なパターンを見つけることができるなら、あなたは、findを使用して編集/限り、あなたはそれをチェックする前に結果をdiffのように、交換またはsedのまたはいくつかの他のツールます。

の一部を自動化することができます 数千のファイルがある場合は、

私は、コードをこのように構築された、合理的なサイズのチームがあることを推測します。一人ではなく、ダンプよりも、それをすべてのシステムを構築し、人々の間でワークロードを共有するために公正なようです。そうしないとあなたはよりポータブルな方法で書き込みSQLコードへのインセンティブを持つことになります、チームの「SQL固定の男」と他の誰となってしまいます。

他のヒント

あなたの現在のアプリケーションは、共通のクラスを介してSQLを実行していますか?あなたは、この一般的なクラスの生のSQLをプリントアウトするためにいくつかのログを追加してもらえますか?その出力からは、Oracleのに対して、各ステートメントを実行するための小さなスクリプトを書くことができます。

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