我使用了本论坛一个大哥的将水晶报表导出为PDF、WORD、EXCEL文件的例子,调试通过没有问题了,于是将代码移植到我的程序中去,结果出现了这样的问题,请大家帮忙解决下:
报表显示的时候没有任何问题,可以显示,只有在我点击了“打印”按钮调用那段代码以后才出现这样的问题,大家帮忙看看:
安全性设置没有问题,应该可以的~!
ASPNET用户设置为绝对。
错误信息如下:
================================================================
登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: CrystalDecisions.CrystalReports.Engine.LogOnException: 登录失败。
源错误:
行 85: DiskOpts.DiskFileName =FilePath;
行 86: oRpt.ExportOptions.DestinationOptions=DiskOpts;
行 87: oRpt.Export(); *******报错位置********
行 88:
行 89: fi = new FileInfo(FilePath);
源文件: d:\公司文档\公司程序\安全检查评价系统\securityappraise\data\webform\usuallycheck\usuallycheck_report.aspx.cs 行: 87
================================================================
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=3494
http://www.csdn.net/develop/Article/20/20283.shtm
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
在此处放置初始化页的用户代码
Dim rep As New RepStat2()
Dim conn As New ConnectionInfo()
Dim log As TableLogOnInfo
Dim tbl As Table
Dim area As String
Dim a As New SessionClass()
Dim aptitude As Session_Aptitude_Struct = a.Get_Session_Aptitude
area = aptitude.domination
Dim cn As New SqlClient.SqlConnection()
cn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings.Item("myconn")
With conn
.ServerName = cn.DataSource
.DatabaseName = cn.Database
.UserID = ConfigurationSettings.AppSettings.Item("userid")
.Password = ConfigurationSettings.AppSettings.Item("password")
End With
For Each tbl In rep.Database.Tables
log = tbl.LogOnInfo
log.ConnectionInfo = conn
tbl.ApplyLogOnInfo(log)
Next
如果有参数
***********************************************************************88
Dim crParameterValues As ParameterValues
Dim crParameterDiscreteValue As ParameterDiscreteValue
Dim crParameterFieldDefinitions As ParameterFieldDefinitions
Dim crParameterFieldDefinition As ParameterFieldDefinition
crParameterFieldDefinitions = rep.DataDefinition.ParameterFields
crParameterFieldDefinition = crParameterFieldDefinitions.Item("area")
crParameterValues = crParameterFieldDefinition.CurrentValues
crParameterDiscreteValue = New ParameterDiscreteValue()
Update by laixin 2003-01-12
If Mid(area, 3, 4) = "0000" Then
crParameterDiscreteValue.Value = Mid(area, 1, 2)
ElseIf Mid(area, 5, 2) = "00" Then
crParameterDiscreteValue.Value = Mid(area, 1, 4)
Else
crParameterDiscreteValue.Value = area
End If
crParameterValues.Add(crParameterDiscreteValue)
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)
***********************************************************************88
Me.CrystalReportViewer1.ReportSource = rep
End Sub
http://expert.csdn.net/Expert/topic/1900/1900717.xml?temp=.6153528