À l'aide de SSRS avec ASP.Net ReportViewer
J'ai mis en place SSRS sur mon localhost, et utilisé d'OFFRES pour créer un couple de rapports sur eux. Ils accèdent à des données à partir de la même SQL Server où la SSR est déployé, et quand je l'ai aperçu, ils fonctionnent très bien. Ensuite, j'ai déployé à mon localhost SSRS et accessibles via le ReportManager interface web, de nouveau, ils ont couru l'amende juste. Enfin, j'ai déployé à mon fournisseur d'hébergement SSRS. Même affaire; bonne connectivité de données et il semble grand dans le ReportManager.
La première fois que j'y accéder par le biais de la ReportManager sur l'un ou l'autre système, il demande mon nom d'utilisateur et un mot de passe sur mon ordinateur portable est tout simplement mon compte d'ouverture de session et le mot de passe. Pour mon hébergeur c'est mon ouverture de session de compte pour eux.
Mon problème est que lorsque j'essaie d'afficher un rapport à l'aide du contrôle ReportViewer dans ASP.Net. Très souvent, lorsqu'il cherche à rendre, je reçois un "Mauvais d'ouverture de session" ou "401: non autorisé" à la place de mon rapport. Après beaucoup de lecture et de réflexion, je crois que le problème c'est que j'ai besoin de vous connecter sur le Serveur SQL server, mais pour le site web (web service?) où mes rapports sont exposés. Pour l'instant, si je n'ai pas fournir les informations d'identification à tous, je peux obtenir mes rapports locaux dans le ReportViewer (généralement). Cependant, quand j'déployer les rapports sur un serveur distant, cela ne fonctionne pas plus.
Après quelques recherches, j'ai créé une classe qui implémente IReportServerCredentials et essayé de l'utiliser pour transmettre le nom d'utilisateur et le mot de passe, mais cela ne fonctionne pas. Et c'était déroutant moi si ces informations d'identification sont censé être pour la source de données ou pour le service web.
Si quelqu'un pouvait idée de me dans sur la façon d'obtenir le ReportViewer pour se connecter à la SSR de service web, j'aimerais beaucoup l'apprécier.
OriginalL'auteur Mike K | 2010-01-14
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez défini le ProcessingMode="Remote" attirbute sur le spectateur, alors vous avez probablement un problème d'authentification. Lors de l'utilisation de la visionneuse de rapports en mode distant, le rapport est exécuté sur SSRS par le compte ASP.Net est en cours d'exécution en vertu de l'. Ce compte doit avoir accès au serveur de rapports et le rapport que vous souhaitez exécuter. Ce qui est probablement ce qui se passe est que ASP.Net s'exécute sous un compte qui n'ont pas accès à SSRS.
Si vous voulez être en mesure de définir les informations d'identification pour la visionneuse de rapports, jetez un oeil à ce fil pour une solution et un exemple de code.
En fin de compte, j'ai enfin compris en examinant les informations d'identification de la classe, je l'ai construite avec plus de soin, en le comparant à un exemple de code que je connaissais travaillé. Il s'est avéré que j'étais de retour "Vrai" de mon GetFormsCredentials() la méthode. Depuis je n'ai jamais voulu utiliser l'Authentification par Formulaires je devrais avoir retourné "False". Tous les "out" paramètre de la méthode ont été mis à NULL si l'authentification n'a jamais été fait correctement, et je ne le savais pas.
Génial. Nous avons rencontré les mêmes problèmes quand nous avons essayé d'intégrer SSRS avec notre application web. En fin de compte, nous avons été en mesure d'obtenir les autorisations juste, mais c'était douloureux.
OriginalL'auteur jvilalta
Il est toujours difficile de déboguer les problèmes d'authentification à distance, mais vous pouvez être en mesure de résoudre votre problème en permettant à l'usurpation d'identité sur votre pool d'applications. De cette façon, lorsqu'un utilisateur est connecté, IIS seraient en mesure de se connecter à SQL Server en tant que votre utilisateur.
Une autre approche pourrait être d'utiliser l'Authentification SQL; malheureusement, les détails dépendent de la façon dont vous avez des choses accroché.
OriginalL'auteur RickNZ