Le moyen le plus simple d’extraire les données d’une liste SharePoint vers une table SQL Server distincte ?

StackOverflow https://stackoverflow.com/questions/307640

  •  08-07-2019
  •  | 
  •  

Question

Édité:Quelle est la manière la plus simple de rayer extraire les données de la liste SharePoint dans une table SQL Server distincte ?Une condition:vous êtes dans un environnement de travail dans lequel vous ne contrôlez pas le serveur SQL derrière SharePoint Server, vous ne pouvez donc pas simplement tirer parti du Données d'utilisateur tableau.

Existe-t-il des utilitaires que vous pouvez utiliser pour planifier un extrait nocturne ?

Microsoft prévoit-il une amélioration pour « SharePoint 4 » ?

Mise à jour du 6 janvier 2009 :
http://connectionstrings.com/sharepoint
Pour les serveurs sur lesquels Office n'est pas installé, vous aurez besoin de :
ce téléchargement

Était-ce utile?

La solution

Comme Ryan l'a dit, je suggérerais également d'utiliser un modèle objet/des services Web pour stocker les données dans une base de données SQL séparée.Je pense que la meilleure approche est d'écrire un gestionnaire d'événements qui se déclenchera au moins et copiera les données insérées/mises à jour par l'utilisateur.

Autres conseils

Il existe une tâche SSIS SharePoint que vous pouvez utiliser pour récupérer les informations sur les données dans un flux de données régulier :http://www.codeplex.com/SQLSrvIntegrationSrv

Grattage?Comme dans le grattage d'écran ?Êtes-vous sérieux?;)

2 options

Modèle objet SharePoint - http://msdn.microsoft.com/en-us/library/ms441339.aspx

Services Web SharePoint - http://msdn.microsoft.com/en-us/library/ms479390.aspxspécifiquement le Service Web de listes

Les services Web permettent à Excel/Access de communiquer avec SharePoint pour s'intégrer à ses listes.

En fait, un peu de Google foo donne ces deux résultats :-

Connexion de SQL Reporting Services à une liste SharePoint

Accès aux éléments de liste SharePoint avec SQL Server 2005 Reporting Services

La réponse en 2 minutes est d'utiliser Data Synchronization Studio de Simego ( http://www.simego.com ) pointez-le simplement sur votre liste et votre base de données et il synchronisera toutes les modifications.

Il existe un adaptateur ADO.NET pour MOSS 2007/2010 et WSS 3.0/4.0 disponible sous le nom de Camelot .NET Connector pour Microsoft SharePoint.Il vous permet d'interroger des listes dans SharePoint via le langage SQL standard, en utilisant SharePoint comme couche de données.

Outre le connecteur, un grand nombre d'outils et d'utilitaires open source seront disponibles, tels que des webparts pour exporter des données vers différents formats (XML, MySQL, ..), des plugins Joomla, des services de synchronisation, etc.

Voir http://www.bendsoft.com pour plus de détails et pour regarder des webémissions.BendSoft recherche actuellement des bêta-testeurs et encourage tous les retours de la communauté.

Exemple:

SÉLECTIONNER * DEPUIS My Custom SharePoint List

INSERT INTO Calendar (EventDate, EndDate, Title, Location) VALUES ('2010-11-04 08:00:00','2010-11-04 10:00:00','Rencontre matinale avec Leia','Starbucks' )

SUPPRIMER DE Corp ImagesImage Name = 'marketing.jpg'

J'avais écrit un article complet à ce sujet avec des procédures de capture d'écran étape par étape.Il n'utilise aucun composant tiers, uniquement SQL BI Tools et Sharepoint.Jetez un oeil ici

http://macaalay.com/2013/11/01/how-to-archive-sharepoint-list-items-to-sql-server/

Concernant votre requête concernant "SharePoint 4", Bill Gates fait quelques remarques à la conférence SharePoint 2008.Il suggère d'enrichir les tables SQL avec des données SharePoint et mentionne ensuite plusieurs autres choses potentiellement intéressantes.Ce qu'il veut dire exactement et si cela aidera à résoudre votre problème à l'avenir est difficile à dire jusqu'à ce que nous commencions à voir les versions bêta de WSS4 / MOSS 14.

J'opterais pour le logiciel simego, mais je n'ai pas l'argent, peut-être qu'un essai de 15 jours suffira !

Si MOSS est installé, le catalogue de données métiers peut être configuré à partir de l'administration centrale de Sharepoint pour synchroniser automatiquement les données pour vous.Il s'agit d'un produit très puissant et inclus avec MOSS.J'adore quand un client l'active pour que je puisse en profiter.

Mais certains ne le font pas et pour ma part, j'ai découvert que s'ils n'ont pas BDC en cours d'exécution et disponible, ils n'accordent inévitablement pas aux développeurs de nombreux droits sur SQL Server, donc SSIS est généralement hors de question (mais peut-être que c'est juste moi).Aucun problème;pour ceux-là, je vais créer un EXE léger qui s'exécute sur une tâche planifiée qui interroge Lists.asmx et transmet les modifications à une table SQL Server.Des trucs assez triviaux pour une liste simple où rien n'est supprimé.Procurez-vous Visual Studio 2008, CAML Builder et préparez-vous à passer un bon moment.Les résultats Lists.asmx sont un peu drôles dans la mesure où les champs de ligne d'une liste sont chacun un nœud unique avec de nombreux attributs, sans nœuds enfants...quelque chose comme ça qui me vient à l'esprit...rappelez-vous simplement que lors du codage...

u003Cz:row ows_Id="1" ows_Field1="A1" ows_Field2="B1"/>n u003Cz:row ows_Id="1" ows_Field1="A2" ows_Field2="B2"/>

Des complications dans le code se produisent lors de la copie de listes dans lesquelles des éléments sont supprimés ou lorsqu'il existe une relation parent/enfant entre les listes SP.On pourrait penser que j'aurais du code à vous envoyer, mais je n'ai pas pris la peine de créer quelque chose que je pourrais réutiliser.

Je suis sûr qu'il existe d'autres moyens de le gérer, mais la tâche planifiée EXE jusqu'à présent a été fiable pour moi pour plusieurs applications pendant plusieurs années.

j'ai écrit du code pour y parvenir, vous pouvez le trouver ici

extraire les données de Moss 2007

Selon la nature exacte des données que vous devez insérer, il peut être possible d'utiliser simplement le flux RSS généré automatiquement pour obtenir les informations souhaitées, un processus devra lire le RSS et formuler une requête.

Sinon, une application/un service console pourrait utiliser le modèle objet pour faire la même chose, mais avec plus de contrôle sur les informations des champs.

J'aurais aimé que quelque chose comme ça soit beaucoup plus facile à faire.Quelque chose qui n'avait pas besoin de SSIS et qui se résumait à un outil de console qui lit un fichier de configuration XML pour les informations source/cible/carte.

http://blogs.officezealot.com/mtblog/archive/2008/06/03/importing-list-data-into-sql.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top