C# ASP.NET CRYSTAL REPORTS RELATORIOS VIA SQLQUERY
Ai faço alguns Join[ô]s e select[ô]s no próprio relatório e realizo a passagem de parametros dessa forma:
ex:
Try
Dim oRPxz As New Rel_Proposta_Oficial_rev
Dim tela2 As New frmImpRel
tela2.Tag = [Ô]CRPT[Ô]
tela2.Text = [Ô]Pré-Visualização da Proposta Comercial[Ô]
oRPxz.SetParameterValue([Ô]ParamCodigo[Ô], Globais.ParamCodigo)
oRPxz.SetParameterValue([Ô]ParamMes[Ô], Globais.ParamMes)
oRPxz.SetParameterValue([Ô]ParamAno[Ô], Globais.ParamAno)
oRPxz.SetParameterValue([Ô]ParamCodCli[Ô], Globais.codCli)
oRPxz.SetParameterValue([Ô]ParamCodSol[Ô], Globais.codSol)
oRPxz.SetParameterValue([Ô]ParamNumero[Ô],Globais.ParamCodigo, [Ô]Rel_Proposta_Itens.rpt[Ô])
oRPxz.SetParameterValue([Ô]ParamMes[Ô], Globais.ParamMes, [Ô]Rel_Proposta_Itens.rpt[Ô])
oRPxz.SetParameterValue([Ô]ParamAno[Ô], Globais.ParamAno.Text, [Ô]Rel_Proposta_Itens.rpt[Ô])
oRPxz.SetParameterValue([Ô]ParamNumero[Ô], Globais.ParamNumero, [Ô]Rel_Proposta_Pagto_Agua.rpt[Ô])
oRPxz.SetParameterValue([Ô]ParamMes[Ô], Globais.ParamMes, [Ô]Rel_Proposta_Pagto_Agua.rpt[Ô])
oRPxz.SetParameterValue([Ô]ParamAno[Ô], Globais.ParamAno, [Ô]Rel_Proposta_Pagto_Agua.rpt[Ô])
tela2.CrystalReportViewer1.ReportSource = oRPxz
tela2.ShowDialog()
oRPxz.Close()
oRPxz.Dispose()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
objConexao.Close()
End Try
EM C# Asp.net tentei da seguinte forma porém sem sucesso: simplesmente não aparece nada nem acontece nada a tela fica em branco e a idéia é reaproveitar meus
relatórios na aplicação webforms aspx no Page_Load.
ReportDocument crystalReport = new ReportDocument();
crystalReport.Load(Server.MapPath([Ô]relatorio.rpt[Ô]));
crystalReport.SetDatabaseLogon([Ô]LOGIN[Ô], [Ô]SENHA[Ô], [Ô]IP[Ô], [Ô]DBNAME[Ô]);
CrystalReportViewer1.ReportSource = crystalReport;
obs: fiz um relatório simples só com um select sem parametro mas nao acontece nada..
Citação:// ==== Codigo fonte da pagina Aspx que chama o relatorio RPT ====
// configuração do Crystal reports
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace AplicativoWeb.Relatorios
{
public partial class RelRelatorio : System.Web.UI.Page
{
// 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);
}
}
}
}
link:
Porem Aqui
Porem está dando Erro:
Citação:
Erro
Falha ao abrir a conexão. Falha ao abrir a conexão. relatorio 6900_2196_{6B72972C-FC92-48B3-99F2-1423D064488F}.rpt
só que no preview do relatório está dando certo e carregando os resultados normalmente ..
O Crystal Report perde as informações de autenticação da conexão no postback... pode ser isso...
Abraços!
Citação::
Então cara, tenta colocar o ConfiguraCrystalReports no Init do WebForm.
O Crystal Report perde as informações de autenticação da conexão no postback... pode ser isso...
Abraços!
Obrigado pela resposta DS2T, porém já está no meu Page_Init.. e continua dando Falha na Conexão.. não sei o que fazer pois
via IP está tudo liberado conecto como banco faço tudo, o preview do relatório carrega também porém imprimir o relatório na pagina
está complicado..
Ainda não consegui
Acredito que ele não faça em Html porque quer reaproveitar todos os relatórios já existentes, possivelmente por questão de tempo...
Abraços!
Citação::
Porque usar Crystal Reports para isso, quando você pode gerar um HTML??
Exatamente, queria economizar tempo imprimindo vários relatórios que já tenho hoje (são mais de 50 relatórios alguns com mais de 5 SubReports dentro).. um tempo
perdido refazer pois já estão prontos e atendendo 100%..
Citação::
Poderia me enviar um relatório e um arquivo webforms pra eu debugar aqui? Fica mais fácil ver o que está acontecendo.
Acredito que ele não faça em Html porque quer reaproveitar todos os relatórios já existentes, possivelmente por questão de tempo...
Abraços!
Na verdade estou tentando com um relatório em branco mesmo, na hora de dar o [Ô]preview[Ô] ele funciona normal, na hora de imprimir que ele não aparece nada..
você poderia criar um relatório via sql query no seu e ve se acontece o mesmo?? la na hora de selecionar a fonte de dados ODBC, voce clica em Add Command
e cria um query sql de select simples, no preview ele carrega tudo no meu, porém na hora de imprimir da erro de conexão com o banco de dados... mesmo utilizando
ddns e no meu projeto Windows Forms eu imprimo normalmente via DDNS ou IP ou seja: não é bloqueio de porta, firewall ou algo do tipo..