Tagged with Import

Importation d’entités personnalisées

Si vous importez une grande quantité de personnalisations ou des entités généreusement modifiées, vous pouvez être confronté à des messages d’erreur comme ceux-ci :

Source : MSCRMWebService

Category : None

Event ID : 19457
Customization Import failed. Error: ExecuteNonQuery requires an open and available Connection.

Source: ASP.NET

Category: Web Event

Event ID: 1309

Event code: 3001

Event message: The request has been aborted.
Exception type: HttpException
Exception message: Request timed out.

Request path: /tools/systemcustomization/ImportCustomizations/…

Deux articles publiés dans la base de connaissance de Microsoft peuvent vous venir en aide

Malheureusement, il est bien possible que cela ne règle pas votre problème et que vous ne soyez toujours pas en mesure d’importer l’ensemble des personnalisations. Voici une suggestion pour y arriver :

1)      Dans Settings – Customizations, cliquez sur Import Customizations

2)      Choississez l’Import File puis cliquez sur Upload

3) Sélectionnez seulement une entité à la fois puis cliquez sur Import Selected Customizations

4)      Répétez l’étape 3 pour chacune des entités personnalisées à importer.

5)      Lorsque chacune des entités aura été importée individuellement, cliquez sur More Actions, puis sur Import All Customizations

6)      Publier toutes les personnalisations
Un peu d’explications, quand même : Il semble que le mécanisme d’importation de personnalisations ne soit pas extrêmement robuste. En fait, il nous abandonne au moment d’importer beaucoup d’entités personnalisées d’un seul coup et également lorsqu’on importe un petit groupe d’entités mais très personnalisées. La suggestion ci-dessus propose de charger le fichier d’import, d’importer les entités fortement personnalisées une par une puis finalement d’importer le fichier au complet.  De plus, il est important de noter que lorsque les entités sont importées une par une, les nouvelles relations vers de nouveaux attributs ne sont pas importés. C’est pour cela qu’il est primordial de réimporter l’ensemble du fichier de perso d’un seul coup avant de publier les modifications. Cela nous assure que toutes les relations entre les entités personnalisées sont importées.

Des ajustements ont été apportés dans l’Update Rollup 6 concernant l’importation de personnalisations.

Tagged , , , , , ,

Suivre le progrès de l’importation de personnalisations

L’importation de personnalisations peut générer une quantité considérable de maux de têtes. La situation devient particulièrement délicate lorsque vous importez un grand nombre de personnalisations d’un seul coup. Il se peut aussi que l’importation se corse lorsque vous importez des entités personnalisées dans un environnement complexe.

image002

Malheureusement, l’interface de Microsoft Dynamics CRM 4.0 ne présente pas de façon trop granulaire le progrès effectué lors de l’importation de personnalisations :

image004

Malheureusement, vous ne trouvez pas d’information dans les vues Filtrées dbo.FilteredImport, dbo.FilteredImportConfig, dbo.FilteredImportFile, dbo.FilteredImportLog ou dbo.FilteredImportMap.  Ces dernières contiennent plutôt les entrées relatives aux importations de données.

Pour avoir un niveau plus intéressant de détails concernant l’avancement de l’importation de personnalisations, exécuter la requête SQL suivante :

USE [MicrosoftCRM_MSCRM]
GO
SELECT * FROM dbo.[ImportJobBase] WITH (NOLOCK)
ORDER BY dbo.[ImportJobBase].[CreatedOn] DESC
--WHERE ImportJobID = '2E0CAEC7-D3BC-DE11-8053-0050569F2C14'

Avec la date et l’heure, déterminez l’entrée qui correspondant à la tâche d’importation en question.

USE [MicrosoftCRM_MSCRM]
GO
SELECT [CreatedOn], [Data] FROM dbo.[ImportJobBase] WITH (NOLOCK)
--ORDER BY dbo.[ImportJobBase].[CreatedOn] DESC
WHERE ImportJobID = '2EECAEC7-D3BC-DE11-8053-0050569F2C14'

Copier le contenu de la colonne Data dans un fichier XML

<?xml version="1.0" encoding="utf-8"?>
<importexportxml>
  <entities>
    <entity result="success" errorcode="0" errortext="">campaignactivity</entity>
    <entity result="success" errorcode="0" errortext="">reportcategory</entity>
    <entity>appointment</entity>
    <entity result="success" errorcode="0" errortext="">opportunity</entity>
    <entity result="success" errorcode="0" errortext="">uom</entity>
    <entity result="success" errorcode="0" errortext="">salesorder</entity>
    <entity>fax</entity>
    <entity>incidentresolution</entity>
    <entity result="success" errorcode="0" errortext="">pricelevel</entity>
    <entity result="success" errorcode="0" errortext="">bulkoperation</entity>
    <entity result="success" errorcode="0" errortext="">report</entity>
    <entity result="success" errorcode="0" errortext="">letter</entity>
    <entity result="success" errorcode="0" errortext="">salesliterature</entity>
    <entity result="success" errorcode="0" errortext="">role</entity>
    <entity result="success" errorcode="0" errortext="">productpricelevel</entity>
    <entity result="success" errorcode="0" errortext="">customeraddress</entity>
    <entity result="success" errorcode="0" errortext="">list</entity>
    <entity result="success" errorcode="0" errortext="">opportunityproduct</entity>
    <entity result="success" errorcode="0" errortext="">activitypointer</entity>
    <entity result="success" errorcode="0" errortext="">email</entity>
    <entity result="success" errorcode="0" errortext="">invoicedetail</entity>
    <entity result="success" errorcode="0" errortext="">contact</entity>
    <entity result="success" errorcode="0" errortext="">territory</entity>
    <entity result="success" errorcode="0" errortext="">uomschedule</entity>
    <entity result="success" errorcode="0" errortext="">contract</entity>
    <entity result="success" errorcode="0" errortext="">subject</entity>
    <entity result="success" errorcode="0" errortext="">team</entity>
    <entity result="success" errorcode="0" errortext="">campaign</entity>
    <entity result="success" errorcode="0" errortext="">account</entity>
    <entity result="success" errorcode="0" errortext="">invoice</entity>
    <entity result="success" errorcode="0" errortext="">campaignresponse</entity>
    <entity result="success" errorcode="0" errortext="">transactioncurrency</entity>
    <entity result="success" errorcode="0" errortext="">businessunit</entity>
    <entity result="success" errorcode="0" errortext="">phonecall</entity>
    <entity result="success" errorcode="0" errortext="">task</entity>
    <entity result="success" errorcode="0" errortext="">systemuser</entity>
    <entity result="success" errorcode="0" errortext="">serviceappointment</entity>
    <entity result="success" errorcode="0" errortext="">template</entity>
    <entity result="success" errorcode="0" errortext="">salesorderdetail</entity>
    <entity result="success" errorcode="0" errortext="">quotedetail</entity>
    <entity result="success" errorcode="0" errortext="">lead</entity>
    <entity result="success" errorcode="0" errortext="">quote</entity>
    <entity result="success" errorcode="0" errortext="">mailmergetemplate</entity>
    <entity result="success" errorcode="0" errortext="">product</entity>
    <entity result="success" errorcode="0" errortext="">incident</entity>
  </entities>
  <nodes>
    <node result="success" errorcode="0" errortext="">sitemap</node>
    <node result="success" errorcode="0" errortext="">isvconfig</node>
    <node result="success" errorcode="0" errortext="">relationshiproles</node>
  </nodes>
  <settings>
    <setting result="success" errorcode="0" errortext="">outlookSynchronization</setting>
    <setting result="success" errorcode="0" errortext="">marketing</setting>
  </settings>
  <securityroles></securityroles>
  <workflows></workflows>
  <languages>
    <language />
  </languages>
</importexportxml>

Vous aurez une idée des entités qui ont été importées avec succès, et celles qui ont moins bien passées.

Tagged , , , , , ,
Follow

Get every new post delivered to your Inbox.