非常に複雑であると思われる質問があり、あなたのような専門家が私の解決策についてどのように考えているかを知りたい.
問題:
多数のサードパーティから中央の mySQL データベースにデータを収集しています。サードパーティは、任意のデータベース製品 (mySQL、Oracle、postgreSQL など) を持つことができます。次の 2 つのタスクを実行する必要があります。
- 最初の起動時に、完全なデータベースを中央の mySQL データベースに複製します
- サードパーティのデータベースに変更が加えられると、中央の mySQL データベースを段階的に更新します
提案された解決策:
- サードパーティのデータベースごとに C# でデータベース クローラーを作成するつもりです。たとえば、サードパーティの 1 つが Oracle データベースを持っているとします。私は、その定義とデータについてOracleデータベースにクエリを実行し、中央のmySQLデータベースによって実行されるSQLクエリをプログラムで作成するクラスを作成するつもりです。例: テーブル XYZ の作成 (id1 int、id2 int)、XYZ 値 (1,2) への挿入など。
- ここに私に最大の悲しみを与えている問題があります。データベースにクエリを実行して、「最新の変更は何ですか」、または dd-mm-yyyy hh:MM:ss 以降の変更を効果的に尋ねたことがあるかどうかを知りたいです。変更とは、データの変更とデータ定義の変更の両方を意味します。例: 新しい列の追加、[行][列] の値の更新、新しい行の挿入など。