O Visualizador de relatórios SAP Crystal não aparece no navegador
Eu tenho um ASP.NET web project with framework 4.5. Está instalado e implementado um relatório SAP para o desenvolvedor de relatórios Cristal VS2012.
Fazendo o relatório Local, ele funciona corretamente em navegadores (Chrome, Firefox, IE) e os dados na saída correta. Agora, no momento da publicação (em outro servidor) a primeira coisa que fizemos foi instalar a mesma versão do SAP, para que haja as bibliotecas necessárias etc..
O problema que tenho é que o Bloco do Visualizador de relatórios, quero dizer..., o que é o container repot, não mostrado no navegador, abra a janela onde está este incorporado, mas não mostrado nada no Visualizador de relatórios, o que o relatório vai parecer ainda menos.pensando que poderia ser um erro de dados ou algo assim, eu tentei mudar o relatório e colocar um branco, onde tudo o que é mostrado é um texto, e sem conexões ou qualquer coisa assim e removendo o código que não é necessário no código atrás, eu apenas parei de carregar o relatório.
em novas obras locais, mas na web publicado, o Visualizador de relatórios ainda está
Alguém me pode ajudar um pouco? Eu procuro alguma informação sobre ele, mas o que eu encontro em fóruns relacionados, é que o relatório não é visto, mas nada do Visualizador de relatório. Muito obrigado antecipadamente.PS: verifiquei o registo do servidor para detectar erros em qualquer questão ou Asp.Net relatórios de cristal e não deixar nada.
7 answers
Acho que há algum problema em encontrar o recurso por omissão Resource-Uri
para a formatação do relatório do cristal.
Para uma formatação adequada
Copiar C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13
Esta pasta para o seu projecto.
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
Isto vai ajudar-te.
Para mim, as ferramentas de desenvolvimento da página web (F12, depois a Página de consola) mostraram que o servidor estava à procura da pasta root/aspnet_client/system_web/4_6_1069, quando copiei os ficheiros para a pasta 4_0_30319. Mudei o nome da pasta e BAM!
Para aqueles de nós que executam projectos migrados de.Net 4.0 ou inferior a 4.5+ eu fiz uma observação. Parece que se sua página que contém o visualizador está em um subdiretório então os urls de imagem estão sendo gerados em relação a essa página e não à raiz da aplicação web. Por exemplo, se a sua página for /gl/accounts.aspx então a imagem pode ser /gl / crystalimagehandler.aspx etc uma maneira rápida de corrigir isso é mudar o mapeamento do seu manipulador para um final de caracteres especiais em crystalimagehandler.aspx ou colocar o seguindo o código no Global.asax
protected void Application_BeginRequest(object sender, EventArgs e)
{
var p = Request.Path.ToLower().Trim();
if (p.EndsWith("/crystalimagehandler.aspx") && p!= "/crystalimagehandler.aspx")
{
var fullPath=Request.Url.AbsoluteUri.ToLower();
var index = fullPath.IndexOf("/crystalimagehandler.aspx");
Response.Redirect(fullPath.Substring(index));
}
}
Depois de copiar a pasta "C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13" na sua pasta raiz da aplicação, certifique-se de copiar e colar o código give:
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
Logo após marca na web.ficheiro de configuração. para mim qualquer outro lugar não funcionou e gerou mensagem de erro.
Eu tive uma situação em que eu tinha alguns relatórios de Cristal criados usando conexão "SQL Server Native Client 11.0" e alguns usando conexão "Microsoft OLE DB provedor para SQL Server". Ambos trabalharam no nosso antigo servidor a executar o IIS 6. No entanto, quando migramos para um novo servidor executando o IIS 8.5, alguns relatórios funcionaram como esperado, enquanto outros exibiram um visualizador de relatórios de cristal vazio. Depois de 4-5 dias a arrancar o cabelo e a tentar tudo o que conseguia pensar, finalmente comparei tudo. entre os relatórios que funcionaram contra os relatórios que não funcionaram. O que eu descobri foram os relatórios que funcionaram usaram o provedor Microsoft OLE DB para a conexão SQL Server. Uma vez que fiz esta mudança, os relatórios serviram perfeitamente.
1.Actualizar A Pasta Da Aplicação.
"C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13" na sua pasta de raiz da aplicação asp por baixo da imagem.
- Actualizar A Web.Ficheiro de configuração pelo seguinte código.
<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
<section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>