2011-02-16 4 views
1

Lorsque je regarde le fichier de sortie de la commande stsadm -o export, je peux voir un fichier xml "simple" qui prend le contenu complet d'un site.Importation vers sharepoint via un fichier xml?

Est-il sûr de réutiliser un tel fichier xml pour importer des données via la commande stsadm -o import? Je veux dire, puis-je générer un fichier xml qui respecte le format SP pour injecter des données dans SP?

quelque chose comme ceci:

<SPObject Id="2efe1c96-cf29-4ade-9f5f-f73451f07576" ObjectType="SPListItem" ParentId="fa5afbc9-0e48-4bde-bceb-a65bcf3fe862" ParentWebId="f0bc765d-1b02-4c03-b59d-5d0ab85a0db5" ParentWebUrl="/aide" Url="/aide/Pages Wiki/Colonne Statut.aspx"> 
    <ListItem 
    FileUrl="Pages Wiki/Colonne Statut.aspx" 
    DocType="File" 
    ParentFolderId="0f70edd9-1b3d-48a9-b7cc-de21413e2158" 
    Id="2efe1c96-cf29-4ade-9f5f-f73451f07576" 
    ParentWebId="f0bc765d-1b02-4c03-b59d-5d0ab85a0db5" 
    ParentListId="fa5afbc9-0e48-4bde-bceb-a65bcf3fe862" 

    IntId="9" 
    DocId="7ab00ce5-cff2-458b-b353-c5f27710b1f7" 
    Version="1.0" 
    ContentTypeId="0x01010800EC194E065D111C41960C31AE6200DFB2" 
    Author="1" 
    ModifiedBy="1" 
    TimeLastModified="2010-07-23T15:03:27" 
    TimeCreated="2010-07-23T15:03:27" ModerationStatus="Approved"> 
     <Fields> 
      <Field Name="_ModerationComments" FieldId="34ad21eb-75bd-4544-8c73-0e08330291fe" /> 
      <Field Name="Modified_x0020_By" FieldId="822c78e3-1ea9-4943-b449-57863ad33ca9" /> 
      <Field Name="Created_x0020_By" FieldId="4dd7e525-8d6b-4cb4-9d3e-44ee25f973eb" /> 

      <Field Name="_SourceUrl" FieldId="c63a459d-54ba-4ab7-933a-dcf1c6fadec2" /> 

      <Field Name="MyField" Value="MyVal" /> 
     </Fields>   
    </ListItem> 
</SPObject> 

Mon objectif actuel est de remplir quelques liste d'une exportation XML d'une application maître personnalisée, de manière ETL.

+0

Je ne recommanderais pas l'utilisation de stsadm -o import/export pour des tâches ETL de données simples. Cette commande tombe souvent si vous n'exécutez pas en tant que compte de service d'installation SharePoint, qui a des privilèges dangereusement élevés pour une charge ETL. –

+0

@JamesLove: savez-vous réellement quelle est l'exigence d'importer des données? –

+1

Vous avez besoin de GUID pour les propriétés de clé requises pour le modèle objet pour construire les éléments à écrire. Ce sera extrêmement long et fastidieux à faire. Vous êtes beaucoup plus en sécurité soit en train de mettre en place une application intermédiaire en utilisant Lists Webservice, ou le modèle d'objet client. –

Répondre

1

Avez-vous regardé l'utilisation du Business Connectivity Services à la place? Ceci est disponible dans SharePoint Foundation 2010. Dans SharePoint 2007, vous avez besoin du contrôleur secondaire de domaine et de la licence correspondante.

Sinon, je recommanderais d'utiliser le lists webservice.

Je ne peux voir que de la douleur et de la frustration provenant de l'utilisation de l'importation, même si cela a fonctionné.

Dans le cas où vous êtes en mesure d'exécuter une commande stsadm, je vous recommande de créer un script powershell pour utiliser le modèle objet pour apporter les modifications.

Le script powershell pourrait alors charger un fichier xml pour la liste des changements nécessaires.

+0

BCS n'est pas une option parce que je n'ai pas accès à la source directement ... Le webservice de listes pourrait être complexe car il faudrait écrire des applications intermédiaires (pas très complexe en fait). –

+1

Dans le cas où vous avez le droit d'exécuter stsadm sur le serveur, vous pouvez également utiliser un script powershell. Il est plus facile de mettre à jour une liste à travers le modèle d'objet et comme les applications intermédiaires sont assez légères en termes de développement. – Nat

1

Vous avez besoin de GUID pour les propriétés de clé requises pour le modèle objet pour construire les éléments à écrire lors de l'importation via STSADM -o import. Ce sera extrêmement long et fastidieux à faire. Vous êtes beaucoup plus en sécurité soit en train de mettre en place une application intermédiaire en utilisant Lists Webservice, ou le modèle d'objet client.

Questions connexes