jeudi 25 octobre 2012

Comment écrire du code personnalisé dans SQL 2005 Reporting Services


Avez-vous déjà rédigé un rapport dans Reporting Services 2005? La plupart des gens ont, mais pour obtenir quelque chose vaut son sel que vous devez avoir une certaine assez avancé t-sql expérience ou avoir de bonnes connaissances dans les bases de données pour être productifs dans SQL Reporting Services. Pour ceux d'entre vous qui ont de l'expérience dans un langage procédural comme le C #. NET ou VB.NET, mais ne sont pas dans T-SQL cet article est pour vous. Dans ce post, je vais vous montrer une façon rapide et sale pour obtenir un code personnalisé avancé travailler dans vos rapports.
Tout d'abord, vous devez savoir quelles sont vos options avant de vous lancer:

Vous pouvez construire des assemblys personnalisés dans n'importe quelle langue. NET conforme de votre choix
Vous pouvez intégrer le code Visual Basic dans votre rapport directement

Cet article va discuter de la 2ème option, car il est plus facile et plus rapide pour obtenir votre code personnalisé de travail de la 1ère option. Ne vous méprenez pas, il ya de bonnes raisons à la fois et il est préférable de savoir quand utiliser l'un sur l'autre dans certaines situations.

Maintenant que nous savons ce que nous essayons de réaliser, permet de creuser dans la partie du code!

Étape 1: Créer un rapport

- Construire l'ensemble de données

- Construire la présentation du rapport

Étape 2: Ajouter le code personnalisé à votre rapport pour faire quelque chose d'utile

-Cliquez sur Propriétés du rapport Rapport>

-Cliquez sur l'onglet Code
C'est là que vous allez mettre votre code personnalisé et de référence dans votre rapport. Voici quelques éléments à prendre note:

Tout le code qui se trouve dans ce bloc doit être code Visual Basic. NET. Tout le code qui est exécuté ici s'exécute avec les autorisations de confiance totale lors de l'utilisation "Aperçu". Afin d'obtenir houblon authenication personnalisés, c'est à dire comme base de données appelle, vous devez ajouter les assemblys requis et les autorisations requises. Lorsque vous effectuez des appels de base de données, services web des appels, vous devez configurer le niveau de confiance dans le fichier web.config sur le serveur de rapports. Aussi toutes les bibliothèques supplémentaires que vous utilisez, c'est à dire System.Data.SqlClient doit être référencé explicitement dans l'onglet références. Tout code que vous utilisez ici peuvent être directement utilisés n'importe où dans vos rapports via le '= Code.Method ()' syntaxe. Si vous venez de construire des fonctions, cela marchera, mais si vous mettez la classe dans le code, vous devez référencer la classe comme Code.ClassName.MethodName () afin d'y accéder.

Étape 3: Écrire du code Visual Basic.NET

- Je préfère écrire du code dans Visual Studio dans un projet de bibliothèque de classes afin que je puisse obtenir le bénéfice de l'IntelliSense et complie temps de vérification. Une fois que j'ai ce dont j'ai besoin, je le copier dans l'onglet du code du Rapport> Propriétés du rapport fenêtre comme ceci.

- Fenêtre de code Visual studio
- Copiez le code dans l'onglet du code

- Lieu code dans votre rapport où vous le souhaitez

- Exécutez votre rapport pour voir ce que votre logique retourne

Conclusion

Pour récapituler ce que nous avons fait était assez basique en termes de complexité, mais nous offre la puissance de l'. NET Framework dans nos rapports. Parce que Reporting Services utilise un moteur de traitement basée sur des expressions que vous pouvez faire beaucoup de choses tout au long de votre rapport dynamique. Personnellement, je pense que c'est la meilleure façon d'ajouter une logique personnalisée qui vous ne pouviez pas faire autrement. Toutefois, nous pourrions avoir codé en dur dans cette logique dans un iif () dans le rapport et qui aurait fonctionné aussi bien, mais le point que je veux faire, c'est que nous pouvons utiliser les bibliothèques de classes. NET Framework pour nous aider à mieux écrire rapports plus rapidement et plus efficacement....

Aucun commentaire:

Enregistrer un commentaire