2010-12-02 17 views
0

J'ai une application web .Net 3.5 dans laquelle j'ouvre peu de rapports de cristal.web Rapport Cyrstal fonctionnant bien sur la machine de développement mais pas sur le serveur de test

Cela fonctionne très bien dans mon environnement de développement, mais quand je copie le code sur mon serveur de test il n'affiche pas le rapport juste une page blanche.

Code de la page est au-dessous

HTML

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="CrystalReport.aspx.vb" 
    Inherits="Woodland.CrystalReport" %> 

<%@ Register Assembly="CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" 
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Report</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    </div> 
    <CR:CrystalReportViewer ID="rv1" runat="server" Visible="true" AutoDataBind="false" /> 
    </form> 
    <CR:CrystalReportSource ID="CrystalReportSource1" runat="server"> 
    </CR:CrystalReportSource> 
</body> 
</html> 

CodeBehind

Imports CrystalDecisions.Web 
Imports CrystalDecisions.CrystalReports.Engine 

Partial Public Class CrystalReport 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

     Try 

      Dim CR As New ReportDocument 
      Dim paramList As New List(Of ParameterBO) 
      paramList = Session("ReportParams") 
      Dim path As String = Server.MapPath(Configuration.ConfigurationSettings.AppSettings("CrystalReportPath").ToString() & Session("ReportName").ToString()) 

      CR.Load(path) 

      For Each param As ParameterBO In paramList 
       If Not param.ParameterValue = "" Then 
        CR.SetParameterValue(param.ParameterName, "'" & param.ParameterValue & "'") 
       Else 
        CR.SetParameterValue(param.ParameterName, "null") 

       End If 
      Next 
      CR.DataSourceConnections.Item(0).SetConnection(Configuration.ConfigurationSettings.AppSettings("Server").ToString(), Configuration.ConfigurationSettings.AppSettings("DatabaseName").ToString(), Configuration.ConfigurationSettings.AppSettings("UserName").ToString(), Configuration.ConfigurationSettings.AppSettings("Password").ToString()) 
      Me.rv1.ReportSource = CR 

     Catch ex As Exception 

     End Try 
    End Sub 

End Class 

Je ne sais pas comment les gens vous pouvez comprendre le problème, mais tous les pointeurs serait vraiment apprécié. Je peux confirmer que j'ai installé .net et crystal sur mon serveur de test ainsi

J'ai également essayé d'exécuter le rapport directement sur mon serveur de test et son fonctionnement fonctionne correctement.

--net 3.5 rapport --Crystal 2008

S'il vous plaît conseiller

Merci

Répondre

0
  1. Ma première hypothèse est un problème d'autorisations de base de données. Le serveur de test dispose-t-il des mêmes droits de base de données que le serveur de développement? Le rapport vide peut signifier que Crystal tire effectivement les données avec succès, mais toutes les tables sont vides. La source de données pour le serveur de test est-elle mise à jour?