Avec Sharepoint et SSRS, on peut facilement créer un rapport que l’on enverra automatiquement par mail ou que l’on enregistrera dans un dossier. C’est sympa mais encore faut-il être sûr que la génération de ses rapports se déroule bien. Je vais donc vous donner trois possibilités pour surveiller cette génération des documents via un abonnement.

Le but va être d’aller chercher le statut de la dernière exécution d’un abonnement. Par exemple : ‘Done: 4 processed of 4 total; 4 errors.

mailbox Subscriptions Sharepoint

US Mailbox

Solution 1 : Manuellement via Sharepoint

Pour cela, nous allons ouvrir les souscriptions d’un rapport. Technique longue et fastidieuse si nous devons le faire pour tous les rapports et tous les abonnements.

Dans Sharepoint :

  • Ouvrez le menu lié à votre rapport (les 3 points à côté du rapport)
  • Cliquez sur les 3 points dans la fenêtre qui s’ouvre (à côté de follow).
  • Cliquez sur ‘Manage Subscriptions’.
  • Vous trouverez les informations sur la dernière génération dans la dernière colonne ‘Last Results’
Last Results Manage subscriptions sharepoint

Colonne ‘last Results’ dans le manager de souscription

Sharepoint manage subscription

Accès au manager de souscription sharepoint

Solution 2 : Manuellement via SQL Server Management Studio

Plus rapide et plus pratique que la version manuelle via Sharepoint. Mais il n’en reste pas moins que vous devez le faire tous les jours.

  • Avec SSMS connectez-vous au serveur qui héberge votre base de données Sharepoint.
  • Recherchez la base de reporting service (Elle doit se nommer ReportingService_ suivi d’une liste de caractères illisibles).
    base reporting service SSMS

    Aperçu bdd reporting Service via SSMS

  • Et exécutez la requête suivante :

    SELECT [ModifiedDate]
    ,[Description]
    ,[LastStatus]
    ,[LastRunTime]
    FROM [ReportingService_XXXXXXX].[dbo].[Subscriptions]
    WHERE Description = ‘
    ORDER BY [LastRunTime] DESC

  • Vous pouvez aussi exécuter la requête suivante si vous souhaitez obtenir les résultats des abonnements de toutes vos requêtes.
    Au passage, vous verrez que vous aurez de nombreuses informations sur votre abonnement :

    • le nom du rapport : ReportName
    • le chemin d’accès de votre rapport :ReportPath
    • le statut : [LastStatus]
    • la dernière exécution : LastRunTime
    • le type d’abonnement : DeleveryType

    SELECT R.ScheduleID AS JobName
    ,C.NAME AS ReportName
    ,C.[Path] AS ReportPath
    ,S.SubscriptionID
    ,SUBSTRING(S.DeliveryExtension
    , 14
    , len(S.DeliveryExtension)) AS DeleveryType
    ,S.[Description] AS Subscription_Desc
    ,S.LastStatus AS Subscription_Exec_Status
    ,C.CreationDate
    ,C.ModifiedDate
    ,S.LastRunTime
    ,[LastStatus]
    FROM dbo.[Catalog] C
    iNNER JOIN dbo.Subscriptions S
    ON S.Report_OID = C.ItemID
    iNNER JOIN dbo.ReportSchedule R
    ON R.SubscriptionID = S.SubscriptionID
    — WHERE C.Name like ‘GenerationPDF’

Solution 3 : Via Sharepoint et un abonnement.

Ben oui, pourquoi se priver de Sharepoint alors que nous l’utilisons justement pour gérer toute sorte d’abonnement.
Donc créez un nouveau rapport SSRS qui va chercher les données de statut de dernière exécution de l’abonnement :

SELECT [ModifiedDate]
,[Description]
,[LastStatus]
,[LastRunTime]
FROM [ReportingService_XXXXXXX].[dbo].[Subscriptions]
WHERE Description = ‘
ORDER BY [LastRunTime] DESC

Puis déposez le sur votre Sharepoint et créez un abonnement de type Email sur celui-ci.

Solution 4 : Autres solutions

Il existe bien sûr plein d’autres possibilités d’envoyer un suivi de l’abonnement.
Par exemple, Via SSMS en créant un Job qui envoie un mail.
Si vous avez des solutions plus intéressantes n’hésitez pas à en parler dans les commentaires ci-dessous ou à donner des urls qui en proposent.

Pour aller plus loin et sur le même sujet je vous propose de lire aussi:

[SP2010] Message d’erreur ‘MOSS MA NOT FOUND’

Mots clefs liés à cet article:

  • mail outreachmarketing com pk
  • mailbox
  • mail betamoss com loc:FR
  • mail outreachmarketing com pk loc:FR
  • mail box
  • U S Mailbox
  • peut on saisir des informations dans SQL depuis sharepoint
  • PARAMETRE SQL SUBSCRIPTION
  • manage subscriptions
  • creer automatiquement toutes les dates du calendrier dans des enregistrements access