Création de datasets du rapport à partir de SQL Server Integration Services
Vous pouvez créer un rapport Reporting Services qui utilise des données générées par l'exécution d'un package Integration Services. Ce package doit répondre aux exigences minimales décrites dans cette rubrique.
[!REMARQUE]
L'extension pour le traitement des données SSIS n'est pas prise en charge. Cette extension pour le traitement des données est une fonctionnalité expérimentale désactivée par défaut. L'utilisation de l'extension pour le traitement des données SSIS sur un serveur de production n'est pas recommandée pour le moment. Si vous choisissez d'activer la fonctionnalité et de l'utiliser sur un serveur de rapports, gardez à l'esprit qu'au moment de l'exécution le package est traité sous l'identité de sécurité du compte de service Windows Report Server ou du compte de service Web Report Server. Cela affecte la façon dont vous devez sécuriser les sources de données auxquelles le package accède. Pour plus d'informations, consultez Configuration de Reporting Services pour utiliser les données d'un package SSIS.
Le flux suivant des événements décrit le traitement des données pour un rapport utilisant les données de package :
Le traitement de rapports est lancé à l'ouverture d'un rapport par l'utilisateur ou lors de la génération du serveur de rapports au cours d'une opération prévue.
Le serveur de rapports se connecte au fichier de package (.dtsx) stocké sur le système de fichiers ou dans la base de données msdb. La chaîne de connexion dans le rapport doit spécifier un chemin d'accès complet au fichier du package.
Le serveur de rapports transmet la requête définie dans le rapport à Integration Services en vue de lancer le traitement. La requête est le nom de la destination DataReader.
Le serveur de rapports récupère puis fusionne les données dans une mise en page de rapport, avant de les convertir comme spécifié.
Vous ne pouvez pas déclencher le traitement de rapports à partir d'un événement de Integration Services. Les modèles d'événement pour les produits ne sont pas incorporés. Vous devez lancer le traitement de rapports à partir de Reporting Services.
Avant de pouvoir sélectionner SSIS comme type de source de données, vous devez configurer le compte d'exécution sans assistance et l'extension pour le traitement de données SSIS. Pour plus d'informations, consultez Configuration du compte d'exécution sans assistance et Configuration de Reporting Services pour utiliser les données d'un package SSIS.
Conception du package
Tous les packages ne peuvent pas être utilisés pour fournir des données à un rapport. Les exigences liées à un package pour les données de rapports comprennent l'utilisation d'une destination DataReader fournissant une cible de destination en mémoire. La liste suivante décrit les exigences supplémentaires ainsi que les étapes à suivre pour la création du package et du rapport.
Dans Integration Services, créez un package dont au moins une tâche de flux de données remplit une ou plusieurs destinations DataReader. L'objet de destination doit comprendre des colonnes d'entrée que vous souhaitez utiliser dans votre rapport.
Configurez une connexion à une source de données externe. Si le package se connecte à une source de données relationnelle SQL Server, vous pouvez choisir entre l'authentification Windows et l'authentification SQL Server. Au moment de configurer la connexion, utilisez l'authentification SQL Server avec un mot de passe stocké.
Exécutez le package pour vérifier s'il retourne les données souhaitées. Pour plus d'informations sur le mode de configuration d'une visionneuse de données vous montrant les données retournées par le package, consultez Procédure : ajouter une visionneuse de données à un flux de données.
Enregistrez le package dans un dossier sur le système de fichiers ou dans SQL Server. L'enregistrement du package dans le magasin de packages SSIS n'est pas pris en charge.
Notez le nom de la destination DataReader contenant le jeu de résultats à utiliser dans le rapport. Vous aurez l'occasion de spécifier ce nom ultérieurement dans la requête du rapport.
Définition de la connexion et d'une requête dans un rapport
Une fois que vous avez défini le package, vous pouvez créer un rapport qui utilise l'extension pour le traitement de données SSIS. Le rapport doit inclure un dataset qui spécifie une connexion au package. La requête du dataset est le nom d'une destination DataReader. Les informations d'identification que vous définissez dans le dataset sont utilisées pour exécuter le package. La liste suivante contient d'autres informations sur la définition de la connexion et des requêtes que vous devez spécifier dans le dataset du rapport :
Le type de source de données doit être SSIS.
Le type d'informations d'identification peut être Ne pas demander les informations d'identification ou Informations d'identification Windows. Vous ne pouvez pas utiliser une authentification de base de données. Lors de la création initiale de la connexion dans le dataset du rapport, le type d'informations d'identification Ne pas demander les informations d'identification est automatiquement activé. Après la publication du rapport, vous pouvez utiliser le Gestionnaire de rapports ou SQL ServerManagement Studio pour changer le type d'informations d'identification en Sécurité intégrée de Windows ou un compte d'utilisateur Windows stocké. Si vous stockez les informations d'identification, n'oubliez pas de sélectionner l'option Utiliser comme informations d'identification Windows lors de la connexion à la source de données. Les informations d'identification demandées par invite ne sont pas prises en charge.
La chaîne de connexion au package doit être un chemin d'accès complet au fichier de package (.dtsx) sur le système de fichiers ou dans msdb. Utilisez les arguments -file ou -sql de l'utilitaire dtexec. Vous n'êtes pas obligé de spécifier l'utilitaire. L'extension du traitement de données SSIS exécute l'utilitaire comme un processus en arrière-plan. Pour plus d'informations sur les arguments de ligne de commande, consultez Utilitaire dtexec. L'exemple suivant illustre la syntaxe de la chaîne de connexion que vous pouvez utiliser pour extraire un package du système de fichiers :
-f c:\datafiles\packages\reportdatapackage.dtsx
La requête est le nom de la destination DataReader. Par défaut, le nom est DataReaderDest. Vous pouvez le remplacer par un autre nom.
Voir aussi