web Crystal报表在开发机器上工作正常但在测试服务器上没有

时间:2010-12-02 12:14:55

标签: .net crystal-reports

我有一个.Net 3.5网络应用程序,我在其中打开几个水晶报告。

它在我的开发环境中工作正常,但是当我将代码复制到我的测试服务器上时,它不会只显示一个空白页面。

页面代码在下面

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>

代码隐藏

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

不确定人们如何能够找出问题,但任何指针都会非常感激。我可以确认我已经在我的测试服务器上安装了.net和crystal

此外,我已尝试直接在我的测试服务器上运行报告,并且工作正常。

- 净3.5 - 2008年水晶报告

1 个答案:

答案 0 :(得分:0)

  1. 我的第一个猜测是数据库权限问题。测试服务器是否与Dev服务器具有相同的数据库权限?

  2. 空白报告可能意味着Crystal确实成功地提取了数据,但所有表都是空的。测试服务器的数据源是否正在更新?