0

独自のデータベースを持つ2つのアプリケーションがあります。

1.)vb.net winformsインターフェイスを備え、オフラインのエンタープライズネットワークで実行され、中央データベースにデータを格納するデスクトップアプリケーション[SQL Server]
**すべてのデータ入力およびその他のオフィス操作は、中央データベースで実行および格納されます。

2.)2番目のアプリケーションはphp上に構築されています。HTMLページがあり、オンライン環境でWebサイトとして実行されます。すべてのデータをmysqlデータベースに保存します。
**このアプリケーションには登録メンバーのみがアクセスでき、最初のアプリケーションで処理されたデータのさまざまなレポートが利用できます。

次に、オンラインデータベースサーバーとオフラインデータベースサーバーの間でデータを同期する必要があります。次のことを計画しています
。1。)SQLServer[オフラインサーバー]のすべてのデータをCVS形式のファイルにエクスポートする小さなプログラムを作成します。
2.)ライブサーバーの管理セクションにログインします。
3.)エクスポートされたcvsファイルをサーバーにアップロードします。
4.)cvsファイルからmysqlデータベースにデータをインポートします。

私が計画している方法は良いですか、それともうまくいくように調整することができますか。また、アプリケーションの変更以外のデータ同期の優れた方法もありがたいです。mysqlデータベースを使用した他のネットワークアプリケーション

4

3 に答える 3

1

あなたが求めていることは、実際には双方向同期 (または SQL Server から MySQL へ、および MySQL から SQL Server への双方向のデータ移動) のようには聞こえません。CSVを使用する方法(BCPのようなものを使用してこれを行うと思います)が機能すると思いますが、問題の1つは、プロセスを実行するたびにすべてのデータを移動していて、基本的に上書きしていることです毎回MySQL db全体。これは明らかにやや非効率的です。その間、MySQL データベースは使用可能な状態にないことは言うまでもありません。

1 つの代替手段 (SQL Server 2008 以降を使用していると仮定) は、統合変更追跡または統合変更キャプチャと共にこの手法を使用することを検討することです。これは、特定の時点以降に変更されたデータを特定できる SQL Server 内の機能です。できることは、CSV ファイルを最後にチェックしてから変更を抽出し、それらを MySQL に適用するプロセスを作成することです。これを行う場合は、削除も適用することを忘れないでください。

于 2011-04-07T22:03:52.187 に答える
1

カスタマイズせずに使用できる、必要なものに対する既製のソリューションはないと思いますが、MS Sync フレームワーク (http://msdn.microsoft.com/en-us/sync/default) は近いように思えます。

これを実現するには、おそらく MySQL 用のプロバイダーを作成する必要があります。これは、データ同期ロジック全体をゼロから作成するよりも作業が少ない可能性があります。独自の同期メカニズムを作成する際に直面する可能性のある課題について、Voclare は正しいです...

于 2011-04-07T22:13:06.280 に答える
0

良い代替手段としてSQLServerIntegrationServiceを調べてください。

于 2011-07-19T18:26:17.463 に答える