none
Recherche dans une table SQL via Sharepoint RRS feed

  • Question

  • Bonjour,

    J'ai une problématique autour du lien Sharepoint-SQL mais je ne sais pas par quel angle attaquer le problème ni quels outils utiliser.

    Dans une base SQL Server, j'ai une table qui contient environ 50k entrées. Le résultat que je voudrais obtenir serais sous la forme d'un formulaire dans Sharepoint ou l'on renseignerais un ou plusieurs champs qui correspondent aux colonnes de la tables.

    Ensuite je voudrais que les éléments de la table qui correspondent au formulaire s'affichent dans une liste externe liée à la table SQL en question.

    Donc je pense que les données rentrées dans le formulaire doivent être passés en argument d'une requête SQL dans la table qui renverrait les éléments à afficher dans la liste. Mais je ne vois pas comment faire....

    Pour le moment j'ai uniquement eu à afficher le contenu complet d'une table SQL dans Sharepoint via Sharepoint Designer ou Visual Studio (http://www.areaprog.com/SP2010/cours...7un-bdc-simple)

    Mais ici il n'est pas question d'afficher toute la liste (50k éléments impossible), je veux juste afficher les éléments qui matchent avec les champs renseignés dans le formulaire.

    J'espère que quelqu'un à déjà fait quelque chose du genre et pourra me guider. Merci!
    jeudi 12 janvier 2012 14:38

Toutes les réponses

  • L'approche présentée sur Areaprog est la bonne : le BCS peut répondre à votre besoin.

    Les méthodes ReadList et ReadItem sont obligatoires, mais ici c'est l'impléméntation de la méthode ReadList qui vous intéresse.

    Il vous faut ajouter des filtres pour chacune des colonnes de votre table. Lors de l'affichage de la liste externe (ou du filtrage en cliquant sur les entêtes de colonnes), les valeurs de filtres seront automatiquement renseignées, ce qui permettra de passer des critères à votre requête.

    En terme d'interface, le rendu ne sera pas nativement ce que vous cherchez à obtenir.

    Si cette utilisation standard vous intéresse, je vous conseille de consulter les articles du MSDN concernant le BCS : http://msdn.microsoft.com/fr-fr//library/ee556826.aspx.

    Attention cependant : si votre besoin se limite à une requête + formulaire, et que vous n'exploitez pas la source de données d'une autre façon dans SharePoint, vous devriez vous demander si un simple développement de WebPart ou de page ne serait pas plus avantageux.


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon/

    jeudi 12 janvier 2012 20:49
  • Merci de votre aide j'ai réussi, grâce à des filtres sur la source de données, à faire ce que je voulais au niveau du filtrage des éléments.

    Mais j'ai toujours un problème au niveau de l'interface :

    Actuellement, pour appliquer des filtres à ma source de données je dois aller dans "modifier l'affichage" et renseigner les filtres.

    Mais je voudrais que les utilisateurs puissent modifier les filtres depuis la page principale de la liste sans devoir aller dans "modifier l'affichage"

    Je ne sais pas trop par ou passer pour obtenir ce résultat.

    Merci!
    vendredi 20 janvier 2012 10:53
  • Bonjour,

    Je pense que vous parler des vues sur une liste. Voici un petit tuto vidéos a ce sujet ;)

    http://www.youtube.com/watch?v=ftDgFIUEjxU

    En espérant que cela vous aide.


    Pascal P
    http://sharepoint-afterwork.fr
    Nouveaux site en FR
    Twitter: @PascalPoeck
    vendredi 20 janvier 2012 18:45
  • Salut,

    Vous n'avez que à créez des view differents au fur et a mesur les filtres que vous voulez..

    Alors les utilisateurs peuvent sélectionnez les vues que vous avez créez et les filtre changeront automatiquement ..

    Pour savoir comment faire des vues: http://mscerts.programming4.us/sharepoint/sharepoint%202010%20%20%20create%20a%20personal%20or%20public%20view%20for%20a%20list%20or%20library%20(part%201)%20-%20create%20a%20standard%20view.aspx

     

    Plus d'info:

    How to create a view: http://blogs.msdn.com/b/dinaayoub/archive/2010/04/22/sharepoint-2010-how-to-create-a-view.aspx

    ou encore: http://blog.fpweb.net/sharepoint-views-creation-and-modification/

     

    PS: veuillez démarquez la réponse de "Sébastien PICAMELOT" comme ça, d'autres contributor peuvent continuer à vous aider..

    Bonne soirée, Gokan


    Founder of SharePoint CookBook: http://www.GokanOzcifci.be
    Microsoft Certified Technology Specialist: SharePoint 2010, Configuring
    Microsoft Certified Personal
    vendredi 20 janvier 2012 21:36
  • Merci de vos réponses,

     

    Mais faire des vues prédéfinies ne correspond pas à ce qu je veux dans la mesure ou les filtres servent à faire une recherche dans la table SQL donc chaque filtrage correspondra à une recherche différente, donc je n'aurais jamais besoin deux fois du même filtre.

    Je ne peux donc pas prédéfinir les filtres.

     

    Pour être plus clair, voici ce que je voudrais obtenir, sachant que la partie avec les barres de recherches se situe actuellement dans "modifier la vue", je pense qu'en développant un peu il est possible de la faire apparaitre sur la page d'affichage de la liste donc ceci :


    • Modifié xy nope lundi 23 janvier 2012 10:03
    lundi 23 janvier 2012 10:01
  • Bonjour,

    Je pense que dans votre cas vous devriez créer une nouvelle page de type Web Part et y placer les quelques web part de recherche qui vont bien, à savoir :

    1) Advanced Search Box : que vous pouvez paramétré pour filtrer vos résultats selon les propriétés de la liste

    2)Search Core Result : pour afficher vos résultats de recherche

    Tout cela est Out Of The Box et ne nécessite aucun développement, juste un peu de configuration sur l'Advanced Search Box.

    Plus d'info : http://technet.microsoft.com/en-us/library/gg576963.aspx


    Pascal P
    http://sharepoint-afterwork.fr
    Nouveaux site en FR
    Twitter: @PascalPoeck
    lundi 23 janvier 2012 11:23
  • Bonjour,

     

    Je vous suggère deux approches :

    • Si vous bénéficiez de la licence Enterprise, la WebPart "Business Data List" vous permet d'afficher le contenu de votre liste. Elle vous permet également d'appliquer des filtres. Un exemple en image (une recherche rapide remonte des exemple sur SharePoint 2007, mais ça reste vrai pour 2010) :

     

    • Si vous ne bénéficiez pas de cette licence, ou bien si la webpart ne répond pas à votre besoin, il vous est possible de filtrer la liste en ajoutant des paramètres dans l'URL. Par exemple : 

    allitems.aspx?FilterField1=AutomaticUpdate&FilterValue1=1

     

    FilterField1 correspond au nom de la colonne sur laquelle filter, FilterValue1 à la valeur. Sur ce modèle, vous pouvez combiner plusieurs filtres. Il ne vous reste alors qu'à offrir à vos utilisateurs un moyen de modifier ces valeurs : une webpart de filtre, développée spécifiquement, peut par exemple permettre à vos utilisateur de saisir un filtre. La validation modifie alors l'URL.

    J'espère que cette réponse vous sera utile.


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon/



    lundi 23 janvier 2012 11:42
  • Ou puis-je trouver ces deux webparts? Lorsque je crée une nouvelle page, et que je veux y ajouter un nouveau webpart,  ces deux noms ne sont dans aucune categorie....

     

    merci!

    lundi 23 janvier 2012 14:20
  • Ils se trouvent dans la catégorie "Recherche" si je me souvient bien et ils sont disponible à partir de la version standard de Sharepoint.

    Si vous ne les voyez pas il se peut que vos fonctionnalité de recherche ne soient pas activées ou que vous utilisiez la version gratuite (Foundation). Si tel est le cas il faudra trouver une alternative comme l'installation de Search Server Express par exemple ou alors se lancer dans un "petit" dev...

    http://www.microsoft.com/enterprisesearch/searchserverexpress/en/us/compare.aspx


    Pascal P
    http://sharepoint-afterwork.fr
    Nouveaux site en FR
    Twitter: @PascalPoeck
    lundi 23 janvier 2012 15:24
  • J'utilise effectivement SharePoint Foundation, je ne savais pas que ces webpart n’était pas dispo avec SP foundation
    lundi 23 janvier 2012 16:18
  • Dans ce cas je vous recommande de filtrer la liste à l'aide de l'URL (voir mon précédent post).

    Si votre besoin concerne une liste spécifique, vous pouvez intégrer les filtres à l'aide de SharePoint Designer (modification de la page de vue de liste) plutôt que de développer une WebPart.


    Sébastien PICAMELOT - http://blogs.developpeur.org/gribouillon/

    • Proposé comme réponse Sébastien PICAMELOT lundi 23 janvier 2012 18:44
    • Marqué comme réponse Pascal P mardi 24 janvier 2012 09:45
    • Non marqué comme réponse xy nope mercredi 25 janvier 2012 09:36
    lundi 23 janvier 2012 18:44
  • N'oubliez pas que la version Foundation est la brique gratuit, donc le minimum options de possible..

    Voici un petit lien qui vous montre les differences entre les 3 briques differents, Foundation, Standaard et Entreprise .. http://sharepointpolice.com/blog/2010/05/03/sharepoint-2010-feature-comparison-sharepoint-foundation-2010-vs-sharepoint-2010-standardenterprise/

     

    Bonne chance, Gokan


    Founder of SharePoint CookBook: http://www.GokanOzcifci.be
    Microsoft Certified Technology Specialist: SharePoint 2010, Configuring
    Microsoft Certified Personal
    mardi 24 janvier 2012 08:34
  • Malheureusement ça s'annonce plus compliqué que prévu car le filtrage a partir des URL ne semble pas fonctionner sur les listes externes....
    mardi 24 janvier 2012 10:39
  • Merci de revenir poster ici.

    Non je n'ai pas avancé dans la mesure ou j'ai l'impression que je ne peux arriver à mes fins via du paramétrage.

    Cela doit être possible via du développement mais je n'ai pas assez d’expérience pour savoir vers ou/quoi me lancer...

    lundi 30 janvier 2012 10:49