私は、パイプで区切られたフラットファイルとデータベーステーブルを持っています。私はフラットファイルとデータベースの違いをすべて含んだ2番目のフラットファイルを作成したいと思います。Javaのデータベースとフラットファイルの値を比較するにはどうすればよいですか?
フラットファイルに存在しないエントリがデータベースに存在する場合、2番目のフラットファイルに行全体が印刷されます(フラットファイルにはエントリが存在しません。データベース)。別の例としては、行が似ているが、フィールドに違いがある場合は、データベースエントリがフラットファイルに印刷されます。
これを行うには、フラットファイルアレイにプライマリキーが存在しない場合は、フラットファイルとデータベースからのデータを含む2つの2次元配列を作成することをお勧めします。 selectステートメント主キーが存在するが他のフィールドが存在しない場合は、selectステートメントから結果を出力します。これは私が考えることができる最高のものですが、非効率的です。
これを行うより良い方法はありますか?私はこれを行うためにJavaを使用しています。
ほとんどのデータベースはファイルを直接読み取る機能を持っています。操作全体はSQLから実行でき、アプリケーション言語よりも優れています。 –
あなたは何のデータ量を出しており、ソースファイルは注文されていますか?フラットファイルがDBからアクセス可能な場合は、SQL /外部テーブルソリューションに向かう傾向があります。データボリュームが些細なものであれば、Javaはそのトリックを行うことができます。 –