Connexion à une source de données

Mis à jour : 12 décembre 2006

Dans Reporting Services, les définitions de rapport comprennent une ou plusieurs requêtes, des informations sur la disposition et des connexions de source de données aux sources de données externes utilisées dans le rapport. Une connexion de source de données spécifie le type de source de données, la chaîne de connexion et les informations d'identification. Dans Reporting Services, les informations de connexion de source de données sont spécifiées dans le dataset. La première étape de la définition d'un dataset pour un rapport consiste à spécifier une source de données à utiliser.

Reporting Services fournit des extensions de données pour la prise en charge des types de sources de données suivants : SQL Server, Analysis Services, Oracle, ODBC, OLE DB, SAP NetWeaver BI et XML. Les développeurs peuvent utiliser les API Microsoft.ReportingServices.DataProcessing pour créer des extensions de traitement de données permettant de prendre en charge des types de sources de données supplémentaires. Les informations de connexion stockées dans une source de données varient en fonction du type de source. Cette rubrique propose plus loin des exemples des différents types de chaînes de connexion.

Vous pouvez spécifier une source de données des façons suivantes :

  • En tant qu'informations incorporées stockées dans un rapport (désignées par le terme source de données spécifique aux rapports)
  • En tant que source de données partagée, définie séparément dans le Concepteur de rapports et enregistrée sur le serveur de rapports sous la forme d'un élément distinct lorsque les rapports sont publiés
  • En tant qu'expression permettant de sélectionner la source de données au moment de l'exécution

Les sources de données ne contiennent pas d'informations de requête, lesquelles se trouvent dans les datasets, qui utilisent les sources pour se connecter à une base de données. Pour plus d'informations, consultez Définition des datasets de rapports.

Lorsque vous spécifiez une source de données à utiliser dans une définition de rapport, vous devez créer une source de données dans le Concepteur de rapports, pas dans l'Explorateur de serveurs. La version du Concepteur de rapports incluse dans SQL Server 2005 n'utilise pas les sources de données Visual Studio créées dans l'Explorateur de serveurs.

Après avoir publié un rapport sur un serveur de rapports, vous pouvez configurer le rapport de manière à utiliser une source de données différente. Par exemple, vous pouvez basculer d'une source de données de test à une source de données de production avec une structure de données sous-jacente identique.

Pour plus d'informations, consultez Définition des propriétés des sources de données dans Reporting Services.

Informations d'identification utilisées en mode aperçu

Lorsque vous affichez un aperçu des rapports dans le Concepteur de rapports, les données sont extraites de la source de données. Les informations d'identification utilisées pour la connexion à la source de données sont spécifiées dans l'onglet Informations d'identification de la boîte de dialogue Source de données ou Source de données partagée. Ces informations d'identification sont stockées dans le fichier de configuration du projet local et sont spécifiques à l'ordinateur qui les héberge. Si vous copiez les fichiers de projet sur un autre ordinateur, vous devez redéfinir les informations d'identification de la source de données.

Sources de données spécifiques d'un rapport

Il est possible de créer une source de données au sein d'un rapport afin qu'elle soit disponible uniquement pour ce rapport. La source de données est disponible pour n'importe quel dataset défini dans le rapport, mais pas pour les autres rapports du projet. Utilisez une source de données spécifique à un rapport lorsqu'un seul rapport nécessite une connexion précise et si, une fois celui-ci publié, vous ne voulez pas gérer la source séparément, mais conjointement avec les propriétés du rapport. Pour plus d'informations sur la spécification d'une source de données spécifique aux rapports, consultez Procédure : créer ou modifier une source de données propre à un rapport (Concepteur de rapports).

Sources de données partagées

Vous pouvez créer une source de données qui pourra être partagée par plusieurs rapports pour simplifier la maintenance des connexions. Ainsi, si plusieurs rapports utilisent tous la même source et que leurs informations de connexion changent, il suffit de modifier une seule fois les informations de connexion pour tous les rapports. Cette opération est utile lors du déplacement de rapports depuis un environnement de test vers un environnement de production ou lorsque vous souhaitez gérer une source de données en tant qu'élément distinct.

Quand vous créez une source de données partagée dans le Concepteur de rapports, celle-ci est stockée sous la forme d'un fichier distinct dans le projet de rapport. Ce fichier est un document XML contenant le nom de la source, son ID et des informations de connexion. Lorsque vous publiez les rapports dans le projet, la source de données est également publiée. Si cette source est déjà présente sur le serveur, la propriété OverwriteDataSources du projet détermine si la source du projet remplace celle du serveur. Vous pouvez modifier cette propriété qui compte parmi les propriétés de déploiement du projet. Une fois le rapport publié, la source de données est conservée parallèlement aux autres rapports du projet et elle peut être gérée séparément.

Pour savoir comment utiliser une source de données partagée, consultez les rubriques suivantes :

Expressions des sources de données

Vous pouvez insérer une expression dans une chaîne de connexion afin de permettre aux utilisateurs de sélectionner la source de données au moment de l'exécution. Par exemple, supposons qu'une société multinationale possède des serveurs de données dans plusieurs pays. Grâce à une chaîne de connexion basée sur une expression, un utilisateur peut sélectionner une source de données pour un pays particulier avant d'exécuter un rapport de ventes.

L'exemple suivant illustre l'utilisation d'une expression de source de données dans une chaîne de connexion SQL Server. Il repose sur l'hypothèse que vous avez créé un paramètre de rapport nommé ServerName :

="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks

Les expressions de source de données sont traitées au moment de l'exécution ou lors de l'affichage de l'aperçu d'un rapport. L'expression doit être écrite en Visual Basic. Utilisez les directives suivantes lors de la définition d'une expression de source de données :

  • Créez le rapport à l'aide d'une chaîne de connexion statique. Une chaîne de connexion statique désigne une chaîne de connexion qui n'est pas définie par le biais d'une expression (ce qui est par exemple le cas lorsque vous suivez la procédure de création d'une source de données partagée ou spécifique aux rapports). L'utilisation d'une chaîne de connexion statique vous permet de vous connecter à la source de données dans le Concepteur de rapports afin d'obtenir les résultats de requête nécessaires à la création du rapport.
  • Lorsque vous définissez la connexion de source de données, n'utilisez pas une source de données partagée. Vous ne pouvez pas utiliser une expression de source de données dans une source de données partagée. Vous devez définir une source de données spécifique aux rapports pour le rapport.
  • Spécifiez les informations d'identification indépendamment de la chaîne de connexion. Vous pouvez utiliser des informations d'identification stockées, des informations d'identification saisies ou la sécurité intégrée.
  • Ajoutez un paramètre de rapport pour spécifier une source de données. Pour les valeurs du paramètre, vous pouvez fournir une liste statique de valeurs disponibles, qui doivent être des sources de données utilisables avec le rapport, ou définir une requête qui extrait une liste de sources de données au moment de l'exécution.
  • Vérifiez que la liste de sources de données partage le même schéma de base de données. Toute conception de rapport commence par les informations relatives au schéma. Si le schéma permettant de définir le rapport ne correspond pas au schéma effectivement utilisé par le rapport au moment de l'exécution, celle-ci peut échouer.
  • Avant de publier le rapport, remplacez la chaîne de connexion statique par une expression. N'effectuez cette opération qu'une fois la création du rapport achevée. Dès que vous utilisez une expression, vous ne pouvez pas exécuter la requête dans le Concepteur de rapports. En outre, la liste de champs de la fenêtre Datasets et la liste Paramètres ne sont pas automatiquement mises à jour.

Caractères spéciaux dans un mot de passe

Si vous configurez votre source de données ODBC ou SQL de manière à demander un mot de passe ou à inclure le mot de passe dans la chaîne de connexion, et si l'utilisateur entre le mot de passe avec des caractères spéciaux tels que des marques de ponctuation, certains pilotes de sources de données sous-jacents ne peuvent pas valider les caractères spéciaux. Lors du traitement du rapport, le message « Mot de passe non valide » pourrait signaler ce problème. Si le changement du mot de passe s'avère impossible, vous pouvez demander à votre administrateur de base de données de stocker les informations d'identification appropriées sur le serveur en tant que nom de sources de données (DSN) ODBC. Pour plus d'informations, consultez « OdbcConnection.ConnectionString » dans la documentation du Kit de développement logiciel (SDK) de Microsoft .NET Framework.

ms156450.note(fr-fr,SQL.90).gifRemarque :
Il est recommandé de ne pas ajouter d'informations de connexion telles que des mots de passe à la chaîne de connexion. Le Concepteur de rapports comprend un onglet distinct dans la boîte de dialogue Source de données, où vous pouvez entrer les informations d'identification. Ces informations d'identification sont stockées de façon sécurisée sur l'ordinateur qui héberge le Concepteur de rapports.

Chaînes de connexion communes

Le tableau suivant présente des exemples de chaînes de connexion pour diverses sources de données.

Sources de données Exemple Description 

Base de données OLTP SQL Server

data source="(local)";initial catalog=AdventureWorks

Définissez SQL Server comme type de source de données.

Base de données Analysis Services

data source=localhost;initial catalog=Adventure Works DW

Définissez SQL Server Analysis Services comme type de source de données.

Source de données de modèle de rapport

Server=http://myreportservername/reportserver; datasource=/models/Adventure Works

Spécifiez le serveur du rapports ou l'URL de bibliothèque de documents et le chemin d'accès au modèle publié dans l'espace de noms de dossier de la bibliothèque de documents ou du dossier du serveur de rapports.

Serveur SQL Server 2000 Analysis Services

provider=MSOLAP.2;data source=<remote server name>;initial catalog=FoodMart 2000

Définissez OLE DB Provider for OLAP Services 8.0 comme type de source de données.

Vous pouvez obtenir une connexion plus rapide aux sources de données SQL Server 2000 Analysis Services en attribuant à la propriété ConnectTo la valeur 8.0. Pour définir cette propriété, utilisez l'onglet Propriétés avancées de la boîte de dialogue Propriétés de connexion.

Serveur Oracle

data source=myserver

Définissez Oracle comme type de source de données. Les outils clients Oracle doivent être installés sur l'ordinateur hébergeant le Concepteur de rapports et sur le serveur de rapports. Pour plus d'informations, consultez Définition de datasets de rapport pour des données relationnelles à partir d'une base de données Oracle.

Source de données SAP Netweaver BI

DataSource=http://mySAPNetWeaverBIServer:8000/sap/bw/xml/soap/xmla

Définissez SAP NetWeaver BI comme type de source de données. Pour plus d'informations, consultez Définition de datasets de rapport pour les données multidimensionnelles d'un système SAP NetWeaver BI.

Source de données Hyperion Essbase

Data Source=https://localhost:13080/aps/XMLA; Initial Catalog=Sample

Définissez Hyperion Essbase comme type de source de données. Pour plus d'informations, consultez Définition de datasets de rapport pour les données multidimensionnelles d'une base de données Hyperion Essbase.

Source de données XML

data source=http://adventure-works.com/results.aspx

Définissez XML comme type de source de données. La chaîne de connexion est une URL vers le document XML. Pour plus d'informations, consultez Définition de datasets de rapport pour des données XML.

Si vous ne réussissez pas à vous connecter à un serveur de rapports en utilisant localhost, vérifiez que le protocole réseau du protocole TCP/IP est activé. Pour plus d'informations, consultez Connexion au moteur de base de données SQL Server.

Voir aussi

Tâches

Procédure : créer ou modifier une source de données propre à un rapport (Concepteur de rapports)
Procédure : créer ou modifier une source de données partagée (Générateur de rapports)

Concepts

Sources de données partagées et sources de données propres aux rapports
Utilisation de données dans une mise en page de rapport
Définition des propriétés des sources de données dans Reporting Services
Hiérarchie des dossiers du serveur de rapports

Autres ressources

Source de données (onglet Informations d'identification, Générateur de rapports)
Source de données partagée (onglet Informations d'identification, Générateur de rapports)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Contenu mis à jour :
  • Ajout des informations de source de données Hyperion Essbase.

17 juillet 2006

Contenu mis à jour :
  • Mise à jour de la chaîne de connexion à la source de données du modèle de rapport

14 avril 2006

Nouveau contenu :
  • Ajout de la source de données SAP Netweaver BI

5 décembre 2005

Nouveau contenu :
  • Caractères spéciaux dans un mot de passe