首页 > 解决方案 > 正确安装后,客户端计算机上的水晶报表登录失败

问题描述

开发人员计算机安装了 2 个 VS(2008,2013)和许多水晶报告。(见图)
我用 CR 从 VS2008(A)和 vs2013(B)创建了 2 个应用程序(A,B)。
我通过 Clickonce 将 A、B 都安装到客户端计算机。
它在开发人员 Com 上运行良好,但在客户端计算机上运行良好。App B(VS2013) 中的 CR 工作正常,但App A(VS2008) 中的 CR 无法连接数据库。它显示窗口询问数据库/密码,然后显示“登录失败”。(见图)
请咨询。

节目报告编码(用于 A、B 应用程序)

    Dim crtableLogoninfo As New TableLogOnInfo()
    Dim crConnectionInfo As New ConnectionInfo()
    Dim CrTables As Tables
    Dim CrTable As Table
    Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument = New crpPlanApv  
    With crConnectionInfo
        .ServerName = "bom"         
        .DatabaseName = "ProductDataBase"
        .UserID = "khomsan"
        .Password = "123456"
    End With
    CrTables = rptDoc.Database.Tables
    For Each CrTable In CrTables
        crtableLogoninfo = CrTable.LogOnInfo
        crtableLogoninfo.ConnectionInfo = crConnectionInfo
        CrTable.ApplyLogOnInfo(crtableLogoninfo)
    Next
    With CrystalReportViewer1
        .ReportSource = rptDoc
        .Refresh()
        .Zoom(2)
    End With 

安装在开发人员计算机上的 Crystal Report

CR 登录失败时

标签: sql-servervb.netcrystal-reports

解决方案


更改您的 Visual Studio 2008 项目以引用 Crystal 13.x 二进制文件,与您在 VS2013 项目中的相同。

请注意在新项目中引用这些库的部分。您应该有如下参考:

CrystalDecisions.CrystalReports.Design, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL

有关示例,请参阅Crystal Reports 13 和 Asp.Net 3.5,但请注意它使用 13.0.2,因此请相应地调整您的。

编辑

删除对版本 10 的引用,然后引用您在 VS2013 中可用的相同版本。在 xml 编辑器中查看您的 vbproj 文件,以确保您没有版本 10 的 Crystal 运行时。

最后编辑报表,并验证数据源是与您的 2013 版本相同的 SQL 客户端。


推荐阅读