开发人员计算机安装了2个VS(2008,2013),并安装了许多水晶报表。(见图)
我用VS2008(A)和vs2013(B)创建了2个具有CR的应用程序(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
答案 0 :(得分:0)
更改您的Visual Studio 2008项目以引用Crystal 13.x二进制文件,与在VS2013项目中一样。
记下引用较新项目中那些库的部分。您应该具有以下引用:
CrystalDecisions.CrystalReports.Design, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, processorArchitecture=MSIL
有关示例,请参见Crystal Reports 13 And Asp.Net 3.5,但请注意,它使用的是13.0.2,因此请相应地进行调整。
修改
删除对版本10的引用,然后引用与VS2013中相同的版本。在xml编辑器中查看您的vbproj文件,以确保您没有Crystal运行时的版本10。
最后编辑报告,并确认数据源与您的2013版本是相同的SQL客户端。
答案 1 :(得分:0)
下载SQL Server 2005 Native Client ODBC并安装到有问题的计算机。
这是link。
1.在网页上单击 Microsoft SQL Server 2005功能包-2007年2月
2.选中其中一个安装软件包(msi)。确保选择正确的版本:
sqlncli.msi(用于32位)
sqlncli_x64.msi(用于64位)
sqlncli_ia64.msi(用于安腾)