BulkInsertCommand не удалось в Sync Framework 2.1 - PullRequest
4 голосов
/ 04 апреля 2011

Иногда я получаю следующую ошибку при попытке синхронизации с SQL Express на SQL Server с использованием Sync Framework 2.1.Как только клиент получает эту ошибку, он должен повторно инициализировать область.С синтаксисом, таким как состояния ошибки, не может быть ничего плохого, потому что он не работает в течение длительных периодов времени (с вставками).Есть мысли?

11: 18: 21 AM Не удалось выполнить команду BulkInsertCommand для таблицы «XXX»;транзакция была отменена.Убедитесь, что синтаксис команды правильный.11:18:21 Microsoft.Synchronization 11:18:21 в Microsoft.Synchronization.Data.ChangeHandlerBase.CheckZombieTransaction (Строковое имя-команды, Строковая таблица, Исключение, например)

Из журнала трассировки:

ПРЕДУПРЕЖДЕНИЕ, OfflineAgentMonitor.vshost, 13, 04/05/2011 11: 16: 17: 224, Массовая команда BulkUpdateCommand завершилась ошибкой со следующим исключением.Строки будут повторены во время однократного применения.System.Data.SqlClient.SqlException (0x80131904): Попытка передать табличный параметр с 19 столбцами, где для соответствующего пользовательского типа таблицы требуется 20 столбцов.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2011

попробуйте включить Sync Fx tracing и проверьте, регистрирует ли Sync Fx исходное исключение. если я правильно помню, исключение обычно возникает, когда соединение с БД потеряно. вы должны быть в состоянии повторить синхронизацию без повторной подготовки области.

0 голосов
/ 17 августа 2011

Это произошло со мной при синхронизации между двумя базами данных SQL Azure.Первоначальная причина состояла в том, что ведомая БД выросла больше, чем ее подготовленный размер.Я увеличил размер, но прошло 20 минут, прежде чем синхронизация перестала выдавать ошибку

...