Numéro d'article: 918609 - Dernière mise à jour: vendredi 9 mai 2008 - Version: 3.0

Le délai est dépassé lorsque vous importez des fichiers de personnalisation volumineux dans Microsoft Dynamics CRM

Important Cet article contient des informations sur la modification du Registre. Avant de modifier le Registre, pensez à le sauvegarder et assurez-vous que vous savez le restaurer en cas de problème. Pour plus d'informations sur la façon de sauvegarder, restaurer et modifier le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
256986  (http://support.microsoft.com/kb/256986/ ) Description du Registre de Microsoft Windows

Sommaire

Agrandir tout | Réduire tout

Symptômes

Le délai est dépassé lorsque vous importez des fichiers de personnalisation volumineux dans Microsoft Dynamics CRM 3.0 ou dans Microsoft Dynamics CRM 4.0. En outre, l'un des messages d'erreur suivants s'affiche.
Message d'erreur 1
Erreur de dépassement de délai lors de l'importation.
Message d'erreur 2
Longueur de requête maximale dépassée.
Message d'erreur 3
Le fichier n'a pas pu être chargé ou l'importation a échoué.
Message d'erreur 4
Le fichier n'est pas un fichier de personnalisation valide. Utilisez un fichier .XML qui a été généré en exportant des personnalisations.
Si la valeur DevErrors est définie sur « On » dans le fichier Web.config, le message d'erreur suivant s'affiche :
Rapport d'erreurs de la plate-forme Microsoft CRM :
Description de l'erreur : Expiration du délai d'attente.
Détails de l'erreur : Aucune information sur l'erreur n'a été fournie par la plate-forme.
Numéro d'erreur : 0x80040E31
En outre, lorsque vous effectuez la mise à niveau d'une base de données Microsoft CRM volumineuse de Microsoft Business Solutions - CRM 1.2 vers Microsoft Dynamics 3.0 ou de Microsoft Dynamics CRM 3.0 vers Microsoft Business Solutions CRM 4.0, le message d'erreur suivant est susceptible de s'afficher :
09:54:25| Error| Install exception.System.Exception: Action Microsoft.Crm.Setup.Server.InstallDatabaseAction failed. ---> System.Data.SqlClient.SqlException: Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas. à System.Data.SqlClient.SqlCommand.ExecuteNonQuery() à Microsoft.Crm.Setup.DatabaseInstaller.DatabaseUtility.ExecuteSql(InstallDatabase database, String sql, Int32 timeout) à Microsoft.Crm.Setup.DatabaseInstaller.SqlScriptAction.Execute() à Microsoft.Crm.Setup.DatabaseInstaller.DatabaseInstaller.Install(Int32 languageCode, String file, Boolean upgrade) à Microsoft.Crm.Setup.Server.InstallDatabaseAction.Do(IDictionary parameters) à Microsoft.Crm.Setup.Common.Action.ExecuteAction(Action action, IDictionary parameters, Boolean undo) --- Fin de la trace de la pile de l'exception interne --- à Microsoft.Crm.Setup.Common.Action.ExecuteAction(Action action, IDictionary parameters, Boolean undo) at Microsoft.Crm.Setup.Common.Installer.Install(IDictionary stateSaver) à Microsoft.Crm.Setup.Server.DatabaseInstaller.Install(IDictionary stateSaver) à Microsoft.Crm.Setup.Common.ComposedInstaller.InternalInstall(IDictionary stateSaver) à Microsoft.Crm.Setup.Common.ComposedInstaller.Install(IDictionary stateSaver) à Microsoft.Crm.Setup.Server.ServerSetup.Upgrade(IDictionary data) à Microsoft.Crm.Setup.Server.ServerSetup.Run()

Cause

Ce problème se produit car l'une des conditions suivantes est remplie :
  • Le temps nécessaire à l'importation des fichiers de personnalisation ou à la mise à niveau de Microsoft Business Solutions - CRM dépasse la valeur par défaut OLEDBTimeout dans Microsoft Dynamics CRM pour l'ordinateur qui exécute Microsoft SQL Server.
  • Le temps nécessaire à l'importation des fichiers de personnalisation ou à la mise à niveau de Microsoft CRM dépasse la valeur ExtendedTimeout utilisée pour les opérations longues.

    Remarque L'entrée de Registre ExtendedTimeout sur le serveur Microsoft Dynamics CRM ne doit pas être définie sur une valeur supérieure à 2,147,483,647. Il s'agit de la valeur maximale que l'entrée de Registre ExtendedTimout peut utiliser.

    Remarque L'importation des fichiers de personnalisation peut être une opération longue.
  • La taille du fichier Personnalisation.xml est supérieure à 7,5 mégaoctets (Mo).

    Remarques
    • Le fichier Personnalisation.xml est créé lorsque vous exportez des entités personnalisées.
    • Par défaut, Microsoft ASP.NET limite la taille de la requête HTTP à 8 Mo.

Résolution

Pour résoudre ce problème, appliquez l'une des méthodes ci-dessous.

Méthode 1: Ajoutez les sous-clés de Registre OLEDBTimeout et ExtendedTimeout pour augmenter les valeurs de délai d'expiration

Avertissement Toute modification incorrecte du Registre à l'aide de l'Éditeur du Registre ou d'une autre méthode peut entraîner des problèmes sérieux. Ces problèmes peuvent vous obliger à réinstaller votre système d'exploitation. Microsoft ne peut pas garantir que ces problèmes puissent être résolus. Vous assumez l'ensemble des risques liés à la modification du Registre.
  1. Cliquez sur Démarrer, puis sur Exécuter, tapez regedit, puis cliquez sur OK.
  2. Recherchez la sous-clé de Registre suivante :
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM
  3. Cliquez avec le bouton droit sur MSCRM, pointez sur Nouveau, puis cliquez sur Valeur DWORD pour créer une nouvelle valeur DWORD.
  4. Renommez la valeur DWORD par la valeur suivante :
    OLEDBTimeout
  5. Cliquez avec le bouton droit sur la valeur DWORD, puis cliquez sur Modifier.
  6. Dans la boîte de dialogue Édition de la valeur DWORD, tapez 86400 dans la zone Données de la valeur, puis cliquez sur OK.

    Remarque En fonction des exigences de l'ordinateur exécutant le serveur SQL et du nombre de fichiers de personnalisation, la valeur peut être supérieure à 86400. La valeur 86400 est équivalente à 24 heures.
  7. Cliquez avec le bouton droit sur MSCRM, pointez sur Nouveau, puis cliquez sur Valeur DWORD pour créer une nouvelle valeur DWORD.
  8. Renommez la valeur DWORD par la valeur suivante :
    ExtendedTimeout
  9. Cliquez avec le bouton droit sur la valeur DWORD, puis cliquez sur Modifier.
  10. Dans la boîte de dialogue Édition de la valeur DWORD, tapez 1000000 dans la zone Données de la valeur, puis cliquez sur OK.

    Remarques
    • Dans la zone Données de la valeur, vous pouvez taper une valeur supérieure à 1 000 000. Toutefois, ne tapez pas une valeur supérieure à 2 147 483 647. Il s'agit du nombre hexadécimal 0x7FFFFFFF.
    • Si cette clé existe déjà, notez la valeur actuelle. Une fois que vous avez terminé l'importation ou la mise à niveau de Microsoft Dynamics CRM, rétablissez cette clé à sa valeur d'origine ou supprimez-la si elle n'existait pas au préalable. La valeur de délai OLEDB par défaut est de 30 secondes.

Méthode 2 : Modifiez un paramètre dans deux fichiers Web.config différents

  1. Cliquez sur Démarrer, sur Tous les programmes, sur Outils d'administration, puis sur Gestionnaire des services Internet (IIS).
  2. Développez le nom du serveur, puis Sites Web.
  3. Cliquez avec le bouton droit sur le site Web Microsoft CRM v3.0 ou sur Microsoft CRM v4.0, puis cliquez sur Ouvrir.
  4. Cliquez avec le bouton droit sur le fichier Web.config, cliquez sur Ouvrir avec, puis sur Bloc-notes.
  5. Recherchez la ligne suivante dans le Bloc-notes.
    <httpRuntime executionTimeout="300" maxRequestLength="8192"/>
  6. Augmentez la valeur « 8192 » jusqu'à une valeur suffisamment grande pour gérer le fichier Personnalisation.xml.
  7. Enregistrez, puis fermez le fichier Web.config.
  8. Dans le répertoire où vous avez ouvert le fichier Web.config, ouvrez le dossier MSCRMServices.
  9. Cliquez avec le bouton droit sur le fichier Web.config, cliquez sur Ouvrir avec, puis sur Bloc-notes.
  10. Recherchez la ligne suivante dans le Bloc-notes.
    <httpRuntime maxRequestLength="8192"/>
  11. Remplacez la valeur « 8192 » par celle que vous avez spécifiée à l'étape 6.
  12. Enregistrez, puis fermez le fichier Web.config.

Plus d'informations

Valeur OLEDBTimeout

Les secondes sont l'unité de la valeur OLEDBTimeout. Par défaut, la valeur OLEDBTimeout est de 30 secondes. La valeur OLEDBTimeout contrôle la valeur de délai SQL utilisée pour une requête SQL. La valeur OLEDBTimeout augmentée est utile lorsque le serveur SQL est surchargé. De plus, le temps de traitement de la requête est plus long.

Valeur ExtendedTimeout

Les millisecondes sont l'unité de la valeur ExtendedTimeout. Par défaut, la valeur ExtendedTimeout est de 1000000 millisecondes. La valeur ExtendedTimeout contrôle la valeur de délai ASP.NET utilisée pour les requêtes d'importation. La valeur de délai doit être supérieure au temps requis pour achever le processus d'importation. La valeur ExtendedTimeout augmentée est utile lorsque le processus d'importation prend du temps.

Remarque Lorsque les performances du serveur SQL sont lentes ou que de nombreux fichiers de personnalisation doivent être importés, le processus d'importation prend du temps.

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Dynamics CRM 4.0
  • Microsoft CRM 3.0
Mots-clés : 
kbmbscrm40 kbmbscustomization kberrmsg kbtshoot kbmbsmigrate kbprb KB918609
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
 

Traductions disponibles

 

Related Support Centers