为什么Crystal报告要求提供数据库登录凭据?
我已阅读所有关于在*中相关的问题的答案。为什么Crystal报告要求提供数据库登录凭据?
但我无法从这些问题获得帮助。
我的代码
Imports System.Data.SqlClient
Imports System.Data
Imports System.Windows.Forms
Imports CrystalDecisions.Shared
Partial Class Reports_LReport
Inherits System.Web.UI.Page
Public Report As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
Public thisConnectionString As String = ConfigurationManager.ConnectionStrings("cnStringMain").ConnectionString
Dim reportDocument As CrystalDecisions.CrystalReports.Engine.ReportDocument = Nothing
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim scriptManager__1 As ScriptManager = ScriptManager.GetCurrent(Me)
scriptManager__1.RegisterPostBackControl(Me.FactroyAttendance)
If Not IsPostBack = True Then
Else
LoadReport()
End If
End Sub
Protected Sub cmdShow_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdShow.Click
LoadReport()
End Sub
Private Sub LoadReport()
If Me.reportDocument IsNot Nothing Then
Me.reportDocument.Close()
Me.reportDocument.Dispose()
End If
Dim SConn As New SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings("cnStringMain").ConnectionString)
Dim thisConnection As New SqlConnection(thisConnectionString)
Dim mySelectCommand As SqlCommand = New System.Data.SqlClient.SqlCommand("prLeaveStatusReport", thisConnection)
mySelectCommand.CommandType = CommandType.StoredProcedure
reportDocument = New CrystalDecisions.CrystalReports.Engine.ReportDocument()
Dim reportPath As String = Server.MapPath("~/Reports/JoyLeaveReport.rpt")
reportDocument.Load(reportPath)
Dim connInfo As New CrystalDecisions.Shared.ConnectionInfo()
connInfo.ServerName = SConn.DataSource
connInfo.DatabaseName = SConn.InitialCatalog
connInfo.UserID = SConn.UserID
connInfo.Password = SConn.Password
Dim tableLogOnInfo As New CrystalDecisions.Shared.TableLogOnInfo()
tableLogOnInfo.ConnectionInfo = connInfo
For Each table As CrystalDecisions.CrystalReports.Engine.Table In reportDocument.Database.Tables
table.ApplyLogOnInfo(tableLogOnInfo)
table.LogOnInfo.ConnectionInfo.ServerName = connInfo.ServerName
table.LogOnInfo.ConnectionInfo.DatabaseName = connInfo.DatabaseName
table.LogOnInfo.ConnectionInfo.UserID = connInfo.UserID
table.LogOnInfo.ConnectionInfo.Password = connInfo.Password
table.Location = "dbo." + table.Location
Next
If String.IsNullOrEmpty(txtFrom.Text) Then
reportDocument.SetParameterValue("@dateFrom", "")
Else
reportDocument.SetParameterValue("@dateFrom", Convert.ToDateTime(txtFrom.Text).ToString("yyyy-MM-dd HH:mm:ss"))
End If
If String.IsNullOrEmpty(txtEmployeeID.Text) Then
reportDocument.SetParameterValue("@empId", "")
Else
reportDocument.SetParameterValue("@empId", txtEmployeeID.Text)
End If
If String.IsNullOrEmpty(txtTo.Text) Then
reportDocument.SetParameterValue("@dateTo", "")
Else
reportDocument.SetParameterValue("@dateTo", Convert.ToDateTime(txtTo.Text).ToString("yyyy-MM-dd HH:mm:ss"))
End If
FactroyAttendance.ReportSource = reportDocument
FactroyAttendance.DataBind()
FactroyAttendance.ReportSource = reportDocument
FactroyAttendance.DataBind()
End Sub
Protected Sub Page_Unload(ByVal sender As Object, ByVal e As EventArgs)
If Me.reportDocument IsNot Nothing Then
Me.reportDocument.Close()
Me.reportDocument.Dispose()
End If
End Sub
End Class
我有一个从那里我有三个字段1.没有fromdate 2. TODATE 3.雇员
我报告工作正常,但是当我去出口用pdf或Word报告它向我询问参数和数据库登录的价值。
图像1
所以,我从SI解释尽可能多的。 我怎么解决它? 并提前致谢。
我看到你把登录信息正确,所以问题可能是你不缓存你的crystalreport对象。
您需要缓存对象并将其重新绑定到网页的Page_Init Web方法中。当你在报告中有多个页面时,以及在我想出口时,这是必要的。
更详细的信息在这个文档:http://help.sap.com/businessobject/product_guides/sapCRVS2010/en/crnet13_sp14_dg_en.pdf
页56(节1.3.3.4),例如。
我没有得到帮助。我应该再次创建报告吗? –
您需要缓存您的crystalreport对象,然后在页面中的init中检索它并执行 'FactroyAttendance.ReportSource = reportDocument; FactroyAttendance.DataBind();' – Furtiro
解决了:只是添加一个方法。这里FactoryAttendance是crystalViewer。 [Protected Sub .FactroyAttendance_Load(ByVal sender As Object,ByVal e As EventArgs)Handles FactroyAttendance.Load LoadReport() End Sub] –
[如何停止水晶报表查看器在打开子报表时要求登录凭据](http://*.com/questions/21709438/how-to-stop-crystal-report-viewer-from-asking- login-credentials-when-opening-sub) –
torha matha sala,dekhos na upore ami likhsi je ai问题相关的问题,但我没有得到任何帮助。 –