Procédure : Analyser des objets BLOB (Binary Large Objects)
Cette rubrique explique comment analyser des données BLOB (Binary Large Object) stockées dans une base de données Microsoft SQL Server.
Dernière modification : vendredi 8 octobre 2010
S’applique à : SharePoint Server 2010
Dans Microsoft SharePoint Server 2010, le Service BDC (Business Data Connectivity) prend en charge la lecture de types de données BLOB, ce qui est utile pour diffuser des données BLOB à partir de systèmes externes. L’infrastructure du connecteur Recherche Microsoft SharePoint Server 2010 vous permet d’analyser les données BLOB diffusées à partir du système externe. Toutefois, pour activer cette fonctionnalité vous devez modifier le fichier de modèle BDC manuellement.
Analyse de données BLOB provenant d’une table de base de données SQL Server
La table de base de données Microsoft SQL Server doit contenir une colonne qui indique l’extension ou le type MIME des données BLOB. Si le schéma de table de base de données ne comprend pas de colonne avec ces informations, vous devez l’ajouter au schéma. Les tableaux suivants contiennent un exemple de schéma de table de base de données avec cette colonne et des exemples de valeurs stockées dans la table de base de données.
Tableau 1. Exemple de schéma de table de base de données
Nom de la colonne |
Type de données |
---|---|
ID |
Int |
DisplayName |
nvarchar(50) |
Extension |
nvarchar(50) |
Data |
varbinary(MAX) |
ContentType |
nvarchar(MAX) |
Tableau 2. Exemples de valeurs de table de base de données
ID |
Nom complet |
Extension |
Données |
Type de contenu |
---|---|---|---|---|
1 |
File1 |
.docx |
0x504B… |
application/vnd.openxmlformats-officedocument.wordprocessingml.document |
2 |
File2 |
.doc |
0xD… |
application/msword |
3 |
File3 |
.txt |
OxE… |
text/plain |
Modification du fichier de modèle BDC de façon à activer l’analyse
Après avoir vérifié que la table de base de données contient les informations sur l’extension ou le type MIME pour les données BLOB, vous pouvez utiliser Microsoft SharePoint Designer 2010 pour créer un type de contenu externe basé sur la table contenant les données BLOB. Ensuite, vous pouvez créer toutes les opérations. Pour plus d’informations, voir Procédure : créer des types de contenu externe et Procédure : Créer un type de contenu externe basé sur une table SQL Server.
Une fois le type de contenu externe BLOB créé, vous êtes prêt à modifier le fichier de modèle BDC de façon à activer l’analyse. Vous ne pouvez pas effectuer ces modifications dans SharePoint Designer 2010. Vous devez par conséquent exporter le fichier de modèle BDC et utiliser un éditeur XML pour apporter ces modifications manuellement.
Pour exporter le fichier de modèle BDC pour le type de contenu externe BLOB
Dans SharePoint Designer 2010, cliquez sur Types de contenu externe dans la navigation de gauche pour afficher les types de contenu externe définis dans le Magasin de métadonnées BDC de l’application de service de ce site.
Dans la liste Types de contenu externe, sélectionnez le type de contenu externe BLOB. Ensuite, cliquez sur Exporter le modèle BDC sur le Ruban serveur.
Tapez un nom dans la zone de texte Nom du modèle BDC, puis cliquez sur OK.
Sélectionnez l’emplacement où vous voulez enregistrer le fichier de modèle BDC (.bdcm), puis cliquez sur Enregistrer.
Pour activer l’analyse du type de contenu externe BLOB
Dans un éditeur XML, ouvrez le fichier de modèle BDC créé lors de la section précédente.
Créez une méthode qui renvoie le champ BLOB. Vous devez définir une instance de méthode de type StreamAccessor pour cette méthode, comme indiqué dans l’exemple suivant.
Notes
Le nom de la table dans cet exemple est « Attachment ».
<Method Name="GetData"> <Properties> <Property Name="RdbCommandText" Type="System.String">SELECT Data FROM [dbo].[Attachment] WHERE [Id] = @Id </Property> <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property> </Properties> <Parameters> <Parameter Direction="In" Name="@Id"> <TypeDescriptor TypeName="System.Int32" IdentifierName="Id" Name="Id" /> </Parameter> <Parameter Name="StreamData" Direction="Return"> <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="DataReaderTypeDescriptorName"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="DataRecordTypeDescriptorName"> <TypeDescriptors> <TypeDescriptor TypeName="System.Data.SqlTypes.SqlBytes, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Data" /> </TypeDescriptors> </TypeDescriptor> </TypeDescriptors> </TypeDescriptor> </Parameter> </Parameters> <MethodInstances> <MethodInstance Name="DataAccessor" Type="StreamAccessor" ReturnParameterName="StreamData" ReturnTypeDescriptorName="Data"> <Properties> <!-- If extension field is available--> <Property Name="Extension" Type="System.String">Extension</Property> <!--If MimeType is available--> <Property Name="ContentType" Type="System.String">ContentType</Property> <!--If attachments is to be displayed in profile pages, add the following property--> <Property Name="MimeTypeField" Type="System.String">ContentType</Property> </Properties> </MethodInstance> </MethodInstances> </Method>
Si le type MIME est identique pour tous les objets BLOB, vous pouvez remplacer cette ligne de code dans l’exemple précédent :
<Property Name="ContentType" Type="System.String">ContentType</Property>
par la ligne de code suivante :
<Property Name=" ContentType " Type="System.String">application/vnd.openxmlformats-officedocument.wordprocessingml.document</Property>Réimportez le fichier de modèle à l’aide de l’interface utilisateur d’administration d’application de service Business Connectivity Services. Pour plus d’informations, voir Gérer les modèles BDC (SharePoint Server 2010) on MSDN TechNet.
Créez la source de contenu pour le type de contenu externe. Pour plus d’informations, voir Ajouter, modifier ou supprimer une source de contenu (SharePoint Server 2010) sur TechNet.
Lancez une analyse complète de la source de contenu. Pour plus d’informations, voir Démarrer, suspendre, reprendre ou arrêter une analyse (SharePoint Server 2010) sur TechNet.