0

Sync フレームワーク 2.1 を使用して 2 つのデータベースを同期するいくつかのテストを行いましたが、データベースのスキーマを変更すると、いくつかの問題が発生します。

私のシナリオは次のとおりです。

  1. 同期され、同じスキーマを持つ 2 つの SQL Server データベース。

  2. リモートデータベースのテーブルに新しい列を追加します

  3. リモート データベースの再プロビジョニング

  4. もう一度同期してみてください。

ステップ 4 で、リモート Db に新しい列があり、その列がローカル Db に存在しないことを示す例外が発生します。

だから、私がしたいのは、列名、列を保持するテーブル、列のデータ型など、その新しい列に関する情報を取得することです。その新しい列をローカル データベースに追加するため。

誰もその情報を取得する方法を知っていますか?

4

2 に答える 2

0

既に構成されている同期スコープでスキーマを変更する場合は、最初に特定のスコープで両方のデータベースをプロビジョニング解除する必要があります。次に、スキーマの変更を行い、指定されたスコープを再度プロビジョニングします。テーブル内のすべての列を同期する場合は、次のメソッドを使用してテーブル スキーマを取得できます。

tableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable( TableName,  Connection);

テーブルで選択した列を同期する場合は、メソッドを使用してテーブル スキーマを取得します。列リストは、同期する必要がある列名のリストです。

SqlSyncDescriptionBuilder.GetDescriptionForTable( TableName,  ColumnList,  Connection);
于 2013-09-16T23:34:59.240 に答える