Fórum Falha no Logon - Crystal em VS2010 com Sql Server 2008 #402131
01/06/2011
0
O relatório é apresentado mas quando efetua-se a paginação, pede o login do banco.
O Mesmo acontece ao tentar exportar o relatorio.
Alguem sabe como contornar essa situação?
Já implementei a seguinte rotina no webform onde está o view do Crystal:
public CrystalDecisions.Shared.TableLogOnInfos LogOnInfo { get; set; }
private void SetLogOnInfo(String userID, String password, String databaseName, String serverName, String tableName)
{
TableLogOnInfo logOnInfo = new TableLogOnInfo();
logOnInfo.ConnectionInfo.ServerName = serverName;
logOnInfo.ConnectionInfo.DatabaseName = databaseName;
logOnInfo.ConnectionInfo.UserID = userID;
logOnInfo.ConnectionInfo.Password = password;
logOnInfo.TableName = tableName;
TableLogOnInfos tableLogOnInfos = new TableLogOnInfos();
tableLogOnInfos.Add(logOnInfo);
ViewRpt.LogOnInfo = tableLogOnInfos;
}
Joaquim Quintella
Curtir tópico
+ 0Posts
10/06/2011
Marcio Silveira
Costumo utilizar DataSet tipado, ou seja, trabalho desconectado do banco de dados, nunca tive problemas.Você podia tentar isso.
Gostei + 0
29/03/2012
Faustino Junior
Você pode utilizar o seguinte código abaixo no c# de uma página "aspx".
No meu exemplo eu criei o relatório.rpt e uma página relRelatorio.aspx, na página aspx basta inserir o componente reportviewer.
Para qualquer outra dúvida acesse o link abaixo.
http://faustino-jr.blogspot.com.br/2012/03/como-configurar-logon-e-utilizar-o.html
// Load da pagina
protected void Page_Load(object sender, EventArgs e)
{
ConfiguraCrystalReports();
}
// configuração do Crystal reports
private void ConfiguraCrystalReports()
{
ReportDocument rpt = new ReportDocument();
string reportPath = Server.MapPath("relatorio.rpt");
rpt.Load(reportPath);
ConnectionInfo myConnectionInfo = new ConnectionInfo();
myConnectionInfo.ServerName = "servidor"; // Utilize o nome do servidor ou IP
myConnectionInfo.DatabaseName = "Nome_Banco_de_Dados";
myConnectionInfo.UserID = "usuario";
myConnectionInfo.Password = "senha";
SetDBLogonForReport(myConnectionInfo, rpt);
csRelatorio.ReportSource = rpt;
}
// Conexao de logon do relatorio
private void SetDBLogonForReport(ConnectionInfo connectionInfo, ReportDocument ArquivoReport)
{
Tables tables = ArquivoReport.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo tableLogonInfo = table.LogOnInfo;
tableLogonInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogonInfo);
}
}
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)