Создание ОСА со службой синхронизации с использованием динамического имени таблицы

Я работаю с приложением ОСА на основе базы данных SQL-сервера и базы данных клиента SQL CE. У каждого пользователя есть своя таблица в базе данных на сервере SQL. Таблица каждого пользователя имеет одну и ту же схему, но может иметь разные данные. Я хотел бы сделать синхронизируемое имя динамически устанавливаемым в клиентском приложении на основе имени таблицы их БД SQL-сервера (которое устанавливается как userID + "__usersdatatable").

Служба синхронизации работает без проблем, когда я не пытаюсь что-либо изменить. Моей последней идеей было изменить SyncTable.TableName = "jsmith_usersdatatable"; в LocalDataCache1SyncAgent.cs в методе oninitialized(). Однако я получаю следующую ошибку:

"Невозможно инициализировать клиентскую базу данных, поскольку схема для таблицы 'zlentz_GOBOS' не может быть получена методом GetSchema() объекта DbServerSyncProvider. Убедитесь, что вы можете установить соединение с клиентской базой данных и что либо свойство SelectIncrementalInsertsCommand, либо SelectIncrementalUpdatesCommand свойство SyncAdapter указано правильно."

Короче говоря, идея заключается в том, что каждая ОСА должна синхронизироваться с другой таблицей (двунаправленной). Я, очевидно, не эксперт по SQL или службам синхронизации, поэтому совет будет полезным.:) Заранее спасибо!

1 ответ

Решение

Узнав больше о Sync Framework, стало очевидно, что мне нужно работать вне мастера.

Для будущих зрителей очень полезна следующая ссылка:

http://www.codeproject.com/Articles/18027/Take-Data-Offline-Using-Microsoft-Synchronization

Другие вопросы по тегам