2011-11-14 3 views
0

I en utilisant la synchronisation via WCF, mon serveur et le client sont SQL Server Express 2008, (pour le développement I à l'aide d'une instance de express sql)Sync Framework BulkInsertCommand pour la table sur SQL Server Express

I ajouté synchronisation filtres modèle sur le serveur et créer toutes mes étendues basées sur ce modèle. La structure des tables côté client et serveur est la même. Quand je commence mon application d'abord toutes les tables système, SP, les déclencheurs créés des deux côtés bien.

Mais lors de la synchronisation (localProvider est serveur, client RemoteProvider)

SyncOrchestrator orchestrator = new SyncOrchestrator 
      { 
       LocalProvider = localProvider, 
       RemoteProvider = remoteProvider, 
       Direction = SyncDirectionOrder.Download 
      }; 
processus

Je suis exception suivante:

{ "Impossible d'exécuter la commande 'BulkInsertCommand' pour la table 'MySyncTable'; la transaction a été annulée.Vérifiez que la syntaxe de la commande est correcte. "}

Exceptions internes sur:

{ "Échec de la conversion de la valeur nvarchar 'après la synchronisation' au bit de type de données \ r \ nLes données pour le paramètre table valeur \." @ CHANGETABLE \ » ne se conforme pas au type de table du paramètre. \ r \ déclaration nLe a été résilié. "}

Quant à moi, il est semble que j'ai une structure différente des tables, je regarde BulkInsertCommand côté serveur et ne trouve pas rien de mal,

Pourrait-elle être liée à l'étendue des filtres ou pourquoi la synchronisation génère-t-elle une erreur?

Merci.

Répondre

1

Avez-vous déjà configuré une étendue différente sur les mêmes ensembles de tables?

avez-vous nettoyé manuellement les objets générés par Sync Framework au lieu d'utiliser l'API de déprovisionnement?

Si vous l'avez fait pour l'un ou l'autre de ce qui précède, il est probable qu'il utilise un UDT obsolète. Si vous n'avez pas d'autres étendues définies dans la base de données, essayez DeprovisionStore pour supprimer la totalité de la base de données et supprimer tous les objets créés par Sync Framwork.

Si vous avez d'autres étendues, annulez toutes les étendues associées à la table de problèmes à l'aide de DeprovisionScope.

0

J'ai effacé les informations de synchronisation avec DeprovisionStore et recréer la portée et maintenant tout fonctionne .... merci.

Questions connexes