Crystal Reports :Base De Données D'Ouverture De Session A Échoué
Je suis en train d'imprimer rapport crystal au format PDF , et sur ma machine locale, il fonctionne. Mais quand j'ai publier l'application sur le serveur, il me donne l'erreur suivante sur le bouton Imprimer .
Je suis avec VS2012 , SQl Server 2012, IIS 7.5 et CR version 13.5
Note: je suis à l'aide de la sécurité intégrée, donc j'ai quitté nom d'utilisateur et un mot de passe vide. S'il vous plaît aider.
Mes lignes de code:
string Constring1 = ConfigurationManager.ConnectionStrings["dbRMCConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(Constring1);
conn.Open();
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("RMCChallan.rpt"));
ParameterFieldDefinitions crParameterFieldDefinations;
ParameterFieldDefinition crParameterFieldDefination;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterValues.Clear();
crParameterDiscreteValue.Value = lbl_Cno.Text;
crParameterFieldDefinations = rpt.DataDefinition.ParameterFields;
crParameterFieldDefination = crParameterFieldDefinations[0];
crParameterValues = crParameterFieldDefination.CurrentValues;
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefination.ApplyCurrentValues(crParameterValues);
rpt.SetDatabaseLogon("", "", "ADMIN-PC\\ADMIN", "dbRMC");
rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, Guid.NewGuid().ToString());
Merci pour votre aide d'avance!!!! 🙂
Trace De La Pile:
Je suis en train d'imprimer rapport crystal au format PDF , et sur ma machine locale, il fonctionne. Mais quand j'ai publier l'application sur le serveur, il me donne l'erreur suivante sur le bouton Imprimer .
Je suis avec VS2012 , SQl Server 2012, IIS 7.5 et CR version 13.5
Remarque: l'Utilisation de l'authentification windows..Pas de nom d'utilisateur et le mot de passe de ma base de données.
Erreur de serveur dans l'Application'/'.
Base de données d'ouverture de session a échoué.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Détails De L'Exception: System.Runtime.InteropServices.COMException: Database logon failed.
Source De L'Erreur:
Line 178: crParameterFieldDefination.ApplyCurrentValues(crParameterValues);
Line 179: rpt.SetDatabaseLogon("", "", "ADMIN-C\\ADMIN","MyDatabase");
Line 180: rpt.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, true, Guid.NewGuid().ToString());
Line 181:
Line 182:
Fichier Source: e:\25jan14\WebSite1\RMC.aspx.cs Line: 180
Trace De La Pile:
[COMException (0x8004100f): Database logon failed.]
CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext) +0
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +257
[LogOnException: Database logon failed.]
CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) +332
CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext) +310
CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext) +654
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToStream(ExportOptions options) +92
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportOptions options, HttpResponse response, Boolean asAttachment, String attachmentName) +96
CrystalDecisions.CrystalReports.Engine.ReportDocument.ExportToHttpResponse(ExportFormatType formatType, HttpResponse response, Boolean asAttachment, String attachmentName) +119
RMC.Button5_Click(Object sender, EventArgs e) in e:\25jan14\WebSite1\RMC.aspx.cs:180
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9553594
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Vous devez vous connecter pour publier un commentaire.
1.claire dataset connexion.
2.set de table ou des tables.
3.ne pas définir la source de données et l'ensemble de données. parce que vous avez envoyé des données de rapport crystal.
4.actualiser la reportdocument.
voir en bas:
Êtes-vous sûr que vous avez besoin de deux barres obliques?
Aussi, voici un lien vers msdn refrence pour SetDatabaseLogon.
http://msdn.microsoft.com/en-us/library/ms226065(v=vs. 80).aspx
L'exemple de l'article est d'utiliser la norme de sécurité d'un compte de connexion.
Il vous manque de l'utilisateur et le mot de passe lors de l'appel.
C'est aussi comme vous essayez d'effectuer une connexion de confiance. Vous pouvez essayer d'utiliser un local, connexion ODBC sur le serveur web, mais il peut demander à l'utilisateur AD informations d'identification.
Bonne chance
Nous avons eu le même problème. Fini que nous avions besoin d'installer Microsoft SQL Server 2012 Native Client (disponible à l' https://www.microsoft.com/en-us/download/details.aspx?id=29065, cliquez sur Installer les Instructions et faites défiler vers le milieu).
Nous avons été en mesure de dire cela, parce que le Moniteur de Processus montrait PAS TROUVÉ des erreurs d'accès à la HKCR/SNCL11 clé de registre.
j'ai fait face à un problème similaire récemment, il a travaillé quand j'ai changé l'identificateur de paramètres régionaux de la db connection dans le rapport. espérons que cela aide quelqu'un. https://stackoverflow.com/a/35545586/3013470
Je me suis bien battu avec ce problème pendant des semaines, sur et hors d'essayer de déployer un Clic-une Fois l'application et enfin trouvé à qui le client a besoin d'ordinateur SQL Native client installé pour SQL 2012; donc, j'ai dû ajouter à mes prérequis.
Dans le cas où quelqu'un d'autre trouve aussi cette question, voici ce que mon problème était, et comment je l'ai corrigé:
J'ai dû modifier certains anciens rapports afin d'ajouter une nouvelle table pour eux. Dans le cadre de ce processus, j'ai dû créer une nouvelle connexion et de modifier le tableau des emplacements pour les pré-tables existantes. Tout a bien fonctionné jusqu'en essayant de déployer dans l'environnement de production, où la table est modifiée dynamiquement dans le code.
Donc je l'ai Googlé, trouve cette question et se rendit compte que la réponse par @Chet (+1) pourrait être un indice. Et c'était moi qui avais créé la nouvelle connexion comme
Sql server native client ##
.Cependant, au lieu de vous embêter avec le serveur de prod, j'ai refait la nouvelle connexion à l'aide d'un
OLE DB (Sql server)
de connexion, et puis il a travaillé dans tous les endroits pertinents (dev, test, prod envs).