mars 2008

lun. mar. mer. jeu. ven. sam. dim.
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

« Café CRM recherche le Responsable de son offre Microsoft Dynamics CRM | Accueil | Le projet MediapostData cité en exemple par Microsoft »

25 septembre 2007

Echecs de personnalisations MS CRM 3.0 : s'affranchir des timeouts SQL

L’outil d’export et d’import de personnalisations de MS CRM 3.0 est efficace mais pas exempt de défauts. Pour la énième fois, nous avons été confrontés au problème de personnalisation qui refuse de s’importer pour une entité donnée.
Le CRM d’un de nos clients contient quelques centaines de milliers d’enregistrements au niveau des entités « Comptes » et « Contacts ». Nous avons une version de la base CRM dans notre environnement de production qui est un snapshot de la version de production effectuée en début de vie du projet. Le volume de données chez nous est très faible par rapport à celui de la plateforme en production.

Nous sommes amenés à effectuer des modifications sur l’entité Adresse (customeraddress) - cette entité est liée aux entités comptes et contacts - en y ajoutant de nouveaux attributs. Il existe plusieurs centaines de milliers d’enregistrements au niveau des Comptes et Contacts, en revanche aucune adresse n’est encore enregistrée.

L’importation de fichier de personnalisation sur le serveur de production échoue.
Grace à l’analyse des traces SQL (SQL Server Profiler) et CRM (TraceEnabled=1 dans la base de registre) enregistrées lors de l’importation, nous nous sommes aperçus que le moteur d’importation ne se contentait pas de modifier la structure de la table « customeraddress » sur laquelle porte la personnalisation, mais qu’il exécute des requêtes avec jointures sur la table « Comptes ». Les requêtes tombaient en timeout, faisant échouer la tâche d’importation.

L’article de la KB Microsoft a répondu à ce problème et la méthode 1 décrite dans celui-ci à été mise en place avec succès, résolvant le problème d’échec de l’importation :

1.Recherchez la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
2.Créer une Valeur DWORD nommée OLEDBTimeout
3.Lui donner la valeur de timeout souhaitée (valeur décimale exprimée en secondes) : 86400
4.Créer une Valeur DWORD nommée ExtendedTimeout
5.Lui donner la valeur de timeout souhaitée (valeur décimale exprimée en millisecondes) : 1000000

Une fois l’importation terminée il est recommandé de supprimer ces valeurs pour revenir dans l’état initial.
Engus

TrackBack

URL TrackBack de cette note:
http://www.typepad.com/services/trackback/6a00d8341d15df53ef00e54efd29538834

Voici les sites qui parlent de Echecs de personnalisations MS CRM 3.0 : s'affranchir des timeouts SQL :

Commentaires

Vérifiez votre commentaire

Aperçu de votre commentaire

Ceci est un essai. Votre commentaire n'a pas encore été déposé.

En cours...
Votre commentaire n'a pas été déposé. Type d'erreur:
Votre commentaire a été enregistré. Poster un autre commentaire

Le code de confirmation que vous avez saisi ne correspond pas. Merci de recommencer.

Pour poster votre commentaire l'étape finale consiste à saisir exactement les lettres et chiffres que vous voyez sur l'image ci-dessous. Ceci permet de lutter contre les spams automatisés.

Difficile à lire? Voir un autre code.

En cours...

Poster un commentaire