如果是 login failed错误,则你应该这样做: Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Public Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents CrystalReportViewer1 As CrystalDecisions.Web.CrystalReportViewer #Region " Windows Form Designer generated code " Dim crpt As CrystalReport1 Dim myTable As CrystalDecisions.CrystalReports.Engine.Table Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load crpt = New CrystalReport1() For Each myTable In crpt.Database.Tables myLogin = myTable.LogOnInfo myLogin.ConnectionInfo.Password = "test" myLogin.ConnectionInfo.UserID = "sa" myTable.ApplyLogOnInfo(myLogin) Next CrystalReportViewer1.ReportSource = crpt End Sub End Class.其中的CrystalReport1是与你的报表同名的一个类,它在你用VS.NEt中的Crystal reports创建报表时由vs.net自动生成。使用时改为与你的报表名同名就行。
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class WebForm1
Inherits System.Web.UI.Page
Protected WithEvents CrystalReportViewer1 As CrystalDecisions.Web.CrystalReportViewer
#Region " Windows Form Designer generated code " Dim crpt As CrystalReport1
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
Dim myLogin As CrystalDecisions.Shared.TableLogOnInfo
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
crpt = New CrystalReport1() For Each myTable In crpt.Database.Tables
myLogin = myTable.LogOnInfo
myLogin.ConnectionInfo.Password = "test"
myLogin.ConnectionInfo.UserID = "sa"
myTable.ApplyLogOnInfo(myLogin)
Next CrystalReportViewer1.ReportSource = crpt
End Sub End Class.其中的CrystalReport1是与你的报表同名的一个类,它在你用VS.NEt中的Crystal reports创建报表时由vs.net自动生成。使用时改为与你的报表名同名就行。
http://expert.csdn.net/Expert/topic/1157/1157298.xml?temp=.4465296