Type de connexion SQL Azure (SSRS)

Microsoft Base de données SQL Azure est une base de données relationnelle informatique hébergée, reposant sur les technologies SQL Server. Pour pouvoir ajouter à votre rapport des données provenant de Base de données SQL Azure, vous devez disposer d'un dataset basé sur une source de données de type SQL Azure. Ce type de source de données intégré est basé sur l'extension de données SQL Azure. Utilisez ce type de source de données pour vous connecter à et récupérer des données de Base de données SQL Azure.

Cette extension de données prend en charge des paramètres à valeurs multiples, agrégats de serveur et informations d'identification gérés séparément de la chaîne de connexion.

SQL Azure est semblable à une instance de SQL Server dans vos locaux et l'obtention de données de Base de données SQL Azure est, à quelques exceptions près, identique à l'obtention de données de SQL Server. Les fonctionnalités Base de données SQL Azure sont alignées sur celles de SQL Server 2008.

Pour plus d'informations sur SQL Azure, consultez « SQL Azure » sur msdn.microsoft.com.

Utilisez les informations de cette rubrique pour générer une source de données. Pour obtenir des instructions détaillées, consultez Procédure : ajouter et vérifier une connexion de données ou une source de données (Générateur de rapports version 3.0 et SSRS).

Dans cet article

Chaîne de connexion

Informations d'identification

Requêtes

Paramètres

Notes

Rubriques de procédures

Sections connexes

Chaîne de connexion

Lorsque vous vous connectez à SQL Azure, vous vous connectez à un objet de base de données dans le nuage. Comme pour les bases de données sur site, la base de données hébergée peut comporter plusieurs schémas qui ont plusieurs tables, vues et procédures stockées. Vous spécifiez l'objet de base de données à utiliser dans le concepteur de requêtes. Si vous ne spécifiez pas de base de données dans la chaîne de connexion, vous vous connectez à la base de données par défaut que l'administrateur vous a affectée.

Contactez l'administrateur de votre base de données pour connaître les informations de connexion et d'identification à utiliser pour se connecter à la source de données. L'exemple de chaîne de connexion suivant spécifie un exemple de base de données hébergé nommé AdventureWorks.

Data Source=<host>;Initial Catalog=AdventureWorks; Encrypt=True;

De plus, vous utilisez la boîte de dialogue Propriétés de la source de données pour fournir des informations d'identification telles que le nom d'utilisateur et le mot de passe. Les options User Id et Password sont ajoutées automatiquement à la chaîne de connexion ; vous n'avez pas besoin de les taper dans la chaîne de connexion.

Pour plus d'informations et pour obtenir des exemples de chaînes de connexion, consultez Connexions de données, sources de données et chaînes de connexion dans le Générateur de rapports version 3.0.

Informations d'identification

L'authentification Windows (sécurité intégrée) n'est pas prise en charge. Si vous tentez de vous connecter à SQL Azure à l'aide de l'authentification Windows, une erreur se produit. SQL Azure prend en charge uniquement l'authentification SQL Server (nom d'utilisateur et mot de passe) ; en outre, les utilisateurs doivent fournir des informations d'identification (nom de connexion et mot de passe) chaque fois qu'ils se connectent à SQL Azure.

Les informations d'identification doivent être suffisantes pour accéder à la base de données. Selon votre requête, vous pouvez avoir besoin d'autres autorisations, par exemple des autorisations suffisantes pour exécuter des procédures stockées et accéder aux tables et aux vues. Le propriétaire de la source de données externe doit configurer des informations d'identification suffisantes pour fournir un accès en lecture seule aux objets de base de données nécessaires.

Sur un client de création de rapports, les options suivantes sont disponibles pour spécifier des informations d'identification :

  • Utiliser un nom d'utilisateur et un mot de passe enregistrés. Pour négocier le double tronçon qui se produit lorsque la base de données qui contient les données de rapport est différente du serveur de rapports, sélectionnez les options permettant d'utiliser les informations d'identification en tant qu'informations d'identification Windows. Vous pouvez également choisir d'emprunter l'identité de l'utilisateur authentifié après la connexion à la source de données.

  • Aucune information d'identification n'est requise. Pour utiliser cette option, vous devez avoir configuré le compte d'exécution sans assistance sur le serveur de rapports. Pour plus d'informations, consultez Configuration du compte d'exécution sans assistance dans la documentation de Reporting Services sur msdn.microsoft.com.

Pour plus d'informations, consultez Connexions de données, sources de données et chaînes de connexion (SSRS) ou Spécification des informations d'identification dans le Générateur de rapports version 3.0.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Requêtes

Une requête spécifie les données à récupérer pour un dataset de rapport. Les colonnes dans le jeu de résultats d'une requête remplissent la collection de champs pour un dataset. Si la requête retourne plusieurs jeux de résultats, le rapport traite uniquement le premier jeu de résultats que la requête récupère. Bien qu'il existe certaines différences entre les bases de données SQL Server et SQL Azure, notamment au niveau de la taille autorisée des bases de données, l'écriture de requêtes sur les bases de données SQL Azure est semblable à l'écriture de requêtes sur les bases de données SQL Server. Certaines instructions Transact-SQL, telles que BACKUP, ne sont pas prises en charge dans SQL Azure, mais vous n'avez pas à les utiliser dans les requêtes de rapport. Pour plus d'informations, consultez Type de connexion SQL Server (SSRS).

Par défaut, si vous créez une requête ou si vous ouvrez une requête existante qui peut être représentée dans le concepteur de requêtes graphique, le concepteur de requêtes relationnelles est disponible. Vous pouvez spécifier une requête de plusieurs façons :

  • Générer une requête de manière interactive. Utilisez le concepteur de requêtes relationnelles, qui affiche selon un mode hiérarchique les tables, vues, procédures stockées et autres éléments de base de données, organisés par schéma de base de données. Sélectionnez des colonnes à partir des tables ou des vues, ou spécifiez des procédures stockées ou des fonctions table. Limitez le nombre de lignes de données à récupérer en spécifiant des critères de filtre. Personnalisez le filtre lorsque le rapport s'exécute en définissant l'option de paramètre.

  • Taper ou coller une requête. Utilisez le concepteur de requêtes textuel pour entrer directement du texte Transact-SQL, coller du texte de requête depuis une autre source, entrer des requêtes complexes impossibles à créer à l'aide du concepteur de requêtes relationnelles, ou pour entrer des expressions basées sur des requêtes.

  • Importer une requête existante à partir d'un fichier ou rapport. Utilisez le bouton Importer une requête à partir de l'un des concepteurs de requêtes afin de naviguer jusqu'à un fichier .sql ou .rdl, et d'importer une requête.

Le concepteur de requêtes textuel prend en charge les deux modes suivants :

  • Texte   Commandes de type Transact-SQL qui sélectionnent des données à partir de la source de données.

  • Procédure stockée   Faites votre choix parmi une liste de procédures stockées.

Pour plus d'informations, consultez Interface utilisateur du Concepteur de requêtes relationnelles (Générateur de rapports version 3.0) et Interface utilisateur du Concepteur de requêtes textuel (Générateur de rapports version 3.0).

Selon la complexité d'une requête et les données que cette dernière retourne, la requête peut prendre beaucoup de temps pour s'exécuter. Dans cette version finale de SQL Azure, les connexions inactives et les requêtes ou transactions à exécution longue sont fermées après cinq minutes. Les requêtes qui requièrent plus de cinq minutes pour s'achever échoueront. Il est recommandé de concevoir des requêtes de rapport aussi efficaces que possible lors de l'obtention de données de rapport à partir de SQL Azure.

Le concepteur de requêtes graphique utilisé par SQL Azure fournit une prise en charge intégrée du regroupement et des agrégats pour vous aider à écrire des requêtes qui récupèrent uniquement les données de synthèse. Les fonctionnalités du langage Transact-SQL sont les suivantes : clause GROUP BY, mot clé DISTINCT et agrégats tels que SUM et COUNT. Le concepteur de requêtes textuel fournit une prise en charge complète du langage Transact-SQL, notamment en matière de regroupement et d'agrégats. Pour plus d'informations sur Transact-SQL, consultez Référence Transact-SQL (moteur de base de données) dans la documentation en ligne de SQL Server sur msdn.microsoft.com.

Utilisation du type de requête Texte

Dans le concepteur de requêtes textuel, vous tapez des commandes Transact-SQL pour définir les données d'un dataset. Par exemple, la requête Transact-SQL suivante sélectionne les noms de tous les employés qui occupent la fonction d'assistants marketing :

SELECT
  HumanResources.Employee.BusinessEntityID
  ,HumanResources.Employee.JobTitle
  ,Person.Person.FirstName
  ,Person.Person.LastName
FROM
  Person.Person
  INNER JOIN HumanResources.Employee
    ON Person.Person.BusinessEntityID = HumanResources.Employee.BusinessEntityID
WHERE HumanResources.Employee.JobTitle = 'Marketing Assistant' 

Cliquez sur le bouton Exécuter (!) de la barre d'outils pour exécuter la requête et afficher un jeu de résultats.

Pour paramétrer cette requête, ajoutez un paramètre de requête. Par exemple, modifiez la clause WHERE comme suit :

WHERE HumanResources.Employee.JobTitle = (@JobTitle)

Lorsque vous exécutez la requête, les paramètres de rapport qui correspondent aux paramètres de requête sont créés automatiquement. Pour plus d'informations, consultez Paramètres de requête plus loin dans cette rubrique.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Utilisation du type de requête StoredProcedure

Vous pouvez spécifier une procédure stockée pour une requête de dataset en procédant de l'une des manières suivantes :

  • Dans la boîte de dialogue Propriétés du dataset, définissez l'option Procédure stockée. Effectuez un choix dans la zone de liste déroulante de procédures stockées et de fonctions table.

  • Dans le Concepteur de requêtes relationnelles, dans le volet Base de données, sélectionnez une procédure stockée ou une fonction table.

  • Dans le Concepteur de requêtes textuel, sélectionnez StoredProcedure dans la barre d'outils.

Après avoir sélectionné une procédure stockée ou une fonction table, vous pouvez exécuter la requête. Vous serez invité à fournir les valeurs des paramètres d'entrée. Lorsque vous exécutez la requête, les paramètres de rapport qui correspondent aux paramètres d'entrée sont créés automatiquement. Pour plus d'informations, consultez Paramètres de requête plus loin dans cette rubrique.

Seul le premier jeu de résultats extrait pour une procédure stockée est pris en charge. Si une procédure stockée retourne plusieurs jeux de résultats, seul le premier est utilisé.

Si une procédure stockée possède un paramètre doté d'une valeur par défaut, vous pouvez accéder à cette dernière en utilisant le mot clé DEFAULT comme valeur pour le paramètre. Si le paramètre de requête est lié à un paramètre de rapport, l'utilisateur peut taper ou sélectionner le mot DEFAULT dans la zone d'entrée pour le paramètre de rapport.

Pour plus d'informations sur les procédures stockées, consultez « Procédures stockées (Moteur de base de données) » dans la documentation en ligne de SQL Server sur msdn.microsoft.com.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Paramètres

Lorsque le texte de requête contient des variables de requête ou des procédures stockées dotées de paramètres d'entrée, les paramètres de requête correspondants pour le dataset et les paramètres de rapport pour le rapport sont automatiquement générés. Le texte de requête ne doit pas inclure l'instruction DECLARE pour chaque variable de requête.

Par exemple, la requête SQL suivante crée un paramètre de rapport nommé EmpID :

SELECT FirstName, LastName FROM HumanResources.Employee E INNER JOIN
       Person.Contact C ON  E.ContactID=C.ContactID 
WHERE EmployeeID = (@EmpID)

Par défaut, chaque paramètre de rapport a le type de données Texte ; en outre, un dataset est créé automatiquement pour fournir une liste déroulante de valeurs disponibles. Après avoir créé les paramètres de rapport, vous devrez peut-être modifier les valeurs par défaut. Pour plus d'informations, consultez Paramètres (Générateur de rapports version 3.0 et SSRS).

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Notes

Autres extensions de données

Vous pouvez également récupérer des données à partir d'une base de données SQL Server à l'aide d'un type de source de données ODBC. La connexion à Base de données SQL Azure via OLE DB n'est pas prise en charge.

Pour plus d'informations, consultez Type de connexion ODBC (SSRS).

Informations sur les plateformes et les versions

Pour plus d'informations sur la prise en charge des plateformes et des versions, consultez Sources de données prises en charge par Reporting Services (SSRS) dans la documentation relative à Reporting Services au sein de la documentation en ligne de SQL Server.

Icône de flèche utilisée avec le lien Retour au débutRetour au début

Sections connexes

Ces sections de la documentation fournissent des informations de fond d'ordre conceptuel sur les données de rapport, ainsi que des informations sur les procédures de définition, de personnalisation et d'utilisation des parties d'un rapport qui sont liées aux données.

Icône de flèche utilisée avec le lien Retour au débutRetour au début