Якорь синхронизации SyncFramework неправильно преобразован в допустимую строку DateTime - PullRequest
2 голосов
/ 05 февраля 2010

Я использую SyncFramework 1.0 для синхронизации базы данных SqlCe 2005 с SqlServer 2005.

Я устанавливаю привязку синхронизации следующим образом ...

 CommandText = "Select @sync_new_received_anchor = GETUTCDATE()",

но syncframework преобразует это значение в строку со слишком большим количеством десятичных знаков ....

exec sp_executesql N'SELECT [Company], [ServiceAreaId], [CostCentreId], [DeletionDate], [DeletionId] 
FROM [ServiceArea_CostCentre_Tombstone] 
WHERE (@sync_initialized = 1 
AND DeletionDate > @sync_last_received_anchor 
AND DeletionDate <= @sync_new_received_anchor 
AND DeletionId <> @sync_client_id)',
N'@sync_initialized bit,@sync_last_received_anchor datetime,
  @sync_new_received_anchor datetime,@sync_client_id uniqueidentifier',
  @sync_initialized=1,
@sync_last_received_anchor='2010-01-27 10:22:01.6770000', -- something wrong here!
@sync_new_received_anchor='2010-01-27 10:23:48.5500000',
@sync_client_id='04F8DB17-981A-4A66-9126-BB609342A2A5'

Сервер SQL регистрирует ошибку «Ошибка преобразования типа данных varchar в datetime». поскольку при преобразовании строки в DateTime допускается только три десятичных знака.

Понятия не имею, что происходит не так!

...