我有一个.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年水晶报告
答案 0 :(得分:0)
我的第一个猜测是数据库权限问题。测试服务器是否与Dev服务器具有相同的数据库权限?
空白报告可能意味着Crystal确实成功地提取了数据,但所有表都是空的。测试服务器的数据源是否正在更新?