Partager via


Étape 5 (facultatif) : définir des méthodes IDEnumerator et activer la recherche de données métiers

Pour activer la recherche de données métiers, vous devez définir un SpecificFinder et un type spécifique de méthode MethodInstance appelé IDEnumerator dans vos métadonnées. Étant donné que vous avez déjà défini une méthode SpecificFinder pour l'entité Product au cours de l'étape 2, vous devez uniquement définir une méthode IDEnumerator au cours de cette étape. Une méthode IDEnumerator retourne une liste d'ID pouvant être recherchés (clé unique) pour une entité. Cette liste permet l'indexation des entités dont les ID sont retournés par la méthode IDEnumerator.

Notes

Si vous avez besoin d'une analyse incrémentielle, vous devez aussi vérifier qu'un des champs de retour de IDEnumerator pour l'entité représente la date à laquelle l'instance d'entité (ou la ligne dans la terminologie de base de données) a été mise à jour pour la dernière fois dans l'application métier. Vous devez ensuite affecter à la propriété __BdcLastModifiedTimestamp de l'entité le nom de TypeDescriptor dans la valeur de retour de IDEnumerator qui représente la date de la dernière modification.

Les entités n'ont aucun ou un IDEnumerator. La définition d'un IDEnumerator est exactement identique à celle d'une méthode Finder, hormis qu'il n'a pas de filtre et retourne uniquement le champ ID ou les champs ID et LastModifiedDate.

L'exemple suivant montre comment définir un IDEnumerator pour indexer et rechercher des produits dans la base de données AdventureWorks2000.

Notes

Cet exemple utilise la base de données Microsoft SQL Server 2000, qui prend en charge la diffusion en continu des données. Pour améliorer les performances des services Web et d'autres applications principales qui ne prennent pas en charge la diffusion en continu, utilisez le filtre LastIdSeen dans votre méthode IDEnumerator comme suit :

SELECT TOP 100 Id FROM Customers WHERE Id>=@LastIdSeen
ORDER BY Id

Conditions préalables requises

Étape 2 : définir des entités, des méthodes et des filtres

ou

Étape 3 (facultatif) : définir les actions

ou

Étape 4 (facultative) : définir des associations

Pour définir un IDEnumerator pour activer l'indexation et la recherche

  1. Ouvrez le fichier AdventureWorks2000.XML à partir de l'étape 2, 3 ou 4.

  2. Ajoutez le XML suivant pour la méthode IDEnumerator dans le XML de l'entité Product, après la définition de la méthode GetProducts :

            <Method Name="ProductIDEnumerator">
              <!-- Method for enabling business data search. The method 
              returns a list of IDs. Business Data Catalog will use the 
              SpecificFinder method on each of these IDs when indexing 
              the prodocuts.-->
              <Properties>
                <Property Name="RdbCommandText" Type="System.String">SELECT ProductID FROM Product WHERE ProductID &gt; 1200 AND ProductID &lt; 1300</Property>
                <Property Name="RdbCommandType" Type="System.String">Text</Property>
              </Properties>
              <Parameters>
                <Parameter Name="ProductIDs" Direction="Return">
                  <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Products">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Product">
                        <TypeDescriptors>
                          <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductID" Name="ProductID">
                            <LocalizedDisplayNames>
                              <LocalizedDisplayName LCID="1033">ID</LocalizedDisplayName>
                            </LocalizedDisplayNames>
                          </TypeDescriptor>
                        </TypeDescriptors>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </Parameter>
              </Parameters>
              <MethodInstances>
                <MethodInstance Name="ProductIDEnumeratorInstance"  Type="IdEnumerator" ReturnParameterName="ProductIDs" />
              </MethodInstances>
            </Method>
    
  3. Enregistrez le fichier XML.

  4. Avant d'ajouter de nouveau la définition d'application, vous devez supprimer l'application AdventureWorksSample créée au cours de l'étape 1 du catalogue de données métiers. Pour supprimer AdventureWorksSample, procédez comme suit :

    1. Ouvrez SharePoint 3.0 Central Administration.

    2. Dans le volet de navigation gauche, cliquez sur le nom de votre fournisseur de services partagés.

    3. Dans la section Business Data Catalog , cliquez sur View Applications pour afficher les applications enregistrées.

    4. Cliquez sur AdventureWorksSample pour ouvrir la page Afficher l'application : AdventureWorksSample.

    5. Pour finir, cliquez sur Delete Application dans la section Application Settings.

  5. Ajoutez la définition d'application au catalogue de données métiers. Pour plus d'informations, voir Procédure : ajouter une définition d'application au catalogue de données métiers.

  6. Ajouter une source de contenu.

  7. Mapper les propriétés analysées.

  8. Créer une étendue de recherche.

Une fois cette procédure pas à pas terminée, le contenu de la base de données échantillon AdventureWorks2000 est disponible pour les requêtes de recherche. Vous devez ensuite personnaliser l'interface utilisateur de recherche ou créer des applications de recherche personnalisées pour exécuter les requêtes dans le contenu de données métiers.

Pour plus d'informations sur les étapes suivantes, voir :

Procédure pas à pas : ajout d'un onglet et d'une page de recherche personnalisée avec les composants WebPart de recherche de contenu d'entreprise au Centre de recherche

Procédure pas à pas : Création d'un composant WebPart ASP.NET pour l'exemple d'application de données métier AdventureWorks

Étapes suivantes

Étape 6 (facultative) : spécifier des autorisations d'accès

Voir aussi

Autres ressources

Catalogue de données métiers : modèle de métadonnées
Exemple SQL Server 2000 AdventureWorks