sql-server - 正确安装后,客户端计算机上的水晶报表登录失败
问题描述
开发人员计算机安装了 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
解决方案
更改您的 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 客户端。
推荐阅读
- c# - 无法解析属性“CosmosDBAttribute.ConnectionStringSetting”的值
- amazon-s3 - [AWS Athena]:如何将 DISTINCT 与 SELECT ALL 和 ORDER BY 一起使用
- random - 系统仿真 - RNG 全周期线性同余发生器
- powershell - Test-NetConnection 连接到环回地址的速度是否有任何原因?
- css - 绝对定位时如何阻止元素移动其他元素?
- python - 如何访问具有特殊字符名称的数据框中的列
- powershell - 父 PowerShell 控制台似乎控制子 PowerShell 控制台 I/O
- terraform - 从 terraform 工作区输出所有资源或特定类型的资源
- c# - 当前上下文中缺少名称 [ControlName] w/数据库连接
- sed - 从 sql 文件中删除带有 unix 的注释