0

我使用带有 vb.net 的 Visual Studio 2008 中的报表文档对象模型创建了一个报表。但是我发现了一个错误。当用户在客户端单击导出按钮时,将显示以下错误。但是在用户单击导出按钮之前,第一次是可以的。

Logon failed. Details: ADO Error Code: 0x Source: Microsoft OLE DB Provider for SQL Server Description: Login failed for user 'zanhtet'. SQL State: 42000 Native Error:

这是调用报告代码。

        Dim ReportDocument As New ReportDocument()
        Dim ReportPath As String = Server.MapPath("~/ReportDocumentOM/DBlogInRDOM.rpt")

        ReportDocument.Load(ReportPath)
        ReportViewer.ReportSource = ReportDocument

        Dim ConnectionInfo As New ConnectionInfo

        ConnectionInfo.ServerName = "ZANHTET\SQLEXPRESS"
        ConnectionInfo.DatabaseName = "EAS_DevTrack4UDev"
        ConnectionInfo.UserID = "zanhtet"
        ConnectionInfo.Password = "123456"

        For Each Table As Table In ReportDocument.Database.Tables
            Dim TableLogOn As TableLogOnInfo = Table.LogOnInfo
            TableLogOn.ConnectionInfo = ConnectionInfo
            Table.ApplyLogOnInfo(TableLogOn)
        Next

我该如何解决这个问题。请帮我。

4

1 回答 1

2

我不确定您上面的代码是在什么地方调用的。但是,如果您还没有这样做,那么请处理来自 reportviewer 的重要事件。在这些事件处理方法中,请确保再次调用此身份验证代码。

与导出相关的事件应该会给您带来好运,但您可能还必须处理其他几个事件(例如分页,我也遇到了类似的问题)。

请参阅此处了解报告查看器事件

http://msdn.microsoft.com/en-us/library/microsoft.reporting.winforms.reportviewer.reportexport.aspx

于 2011-04-28T13:11:40.867 回答