alejandro carnero
alejandro carnero

Reputation: 1784

Crystal report in C # need log on

I wrote the following in Visual Studio 2010:

    label2.Text = Convert.ToString(BAssistencia.nroo);
    ReportDocument oRep = new ReportDocument();
    ParameterField campo = new ParameterField();
    ParameterFields campo2 = new ParameterFields();
    ParameterDiscreteValue Pdv = new ParameterDiscreteValue();

    campo.Name = "@pedido";
    Pdv.Value = label2.Text;
    campo.CurrentValues.Add(Pdv);
    campo2.Add(campo);
    crystalReportViewer1.ParameterFieldInfo = campo2;
    oRep.Load("C:/Relatorios/CrystalReport3.rpt");
    crystalReportViewer1.ReportSource = oRep;
    oRep.SetDatabaseLogon("sa","password","server","database");

The report opens fine on the computer with Visual Studio, but when I deploy, the application asks for the log again and again. What am I Doing wrong? Thanks in advance.

Upvotes: 0

Views: 740

Answers (2)

Asif
Asif

Reputation: 2677

Can you try this code

ReportDocument rpt = new ReportDocument();
        rpt.Load(@"C:\CrystalReport1.rpt");

        ConnectionInfo crConnectionInfo = new ConnectionInfo();
        crConnectionInfo.ServerName = "SERVERNAME";
        crConnectionInfo.DatabaseName = "DATABASENAME";
        crConnectionInfo.UserID = "USERNAME";
        crConnectionInfo.Password = "PASSWORD";
        crConnectionInfo.IntegratedSecurity = false;

        TableLogOnInfos crTableLogonInfos = new TableLogOnInfos();
        TableLogOnInfo crTableLogonInfo = new TableLogOnInfo();
        Tables CrTables;
        CrTables = rpt.Database.Tables;

        foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in CrTables)
        {
            crTableLogonInfo = crTable.LogOnInfo;
            crTableLogonInfo.ConnectionInfo = crConnectionInfo;
            crTable.ApplyLogOnInfo(crTableLogonInfo);
        }
        crystalReportViewer1.ReportSource = rpt;
        crystalReportViewer1.Refresh();

Upvotes: 0

Amal Dev
Amal Dev

Reputation: 1963

You have two options for solving this problem.

  1. Use a windows user account for accessing database More details are here

  2. Apply credentials to main reports and all subreports dynamically

Application runs slow when DB logging info is applied to each Crystal Reports Sections

http://www.daniweb.com/software-development/csharp/threads/214322/c-crystal-reports-changing-database-and-server-name

Upvotes: 1

Related Questions