我已经在我的PC上测试过我的程序,并且一切正常,但是当我尝试将Windows窗体应用程序部署到客户机时Crystal Reports窗口弹出要求密码,沮丧的事实具有此使用设置:VB.NET - 部署水晶报表应用程序
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim CrTables As Tables
Dim CrTable As Table
cryRpt.Load("C:\ActivityReport.rpt")
cryRpt.SetParameterValue("FromDate", TextBox1.Text)
cryRpt.SetParameterValue("ToDate", TextBox2.Text)
With crConnectionInfo
.ServerName = serverbox.Text
.DatabaseName = dbbox.Text
.UserID = userbox.Text
.Password = passwordbox.Text
End With
CrTables = cryRpt.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogOnInfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
Next
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.Refresh()
我也注意到,数据库的字段是在水晶空白汇报拉网这可以解释为什么我得到的错误:手动输入密码时,登录失败,但找不出为什么数据库名称没有被传递。
我试着改变我的窗体上的DATABASE名称(ON DEV PC),这是在dbbox.text中,这确实停止报告运行,所以它应该传递数据库作为连接字符串的一部分?
我已经在客户端机器上安装了Crystal Report Viewer,因为我可能是这样,但没有运气。 我是否需要安装.NET v4?
真的卡住了,并且会喜欢一点指导。
感谢 罗布
如果它帮助这里是我的应用程序运行显示错误我已经描述的屏幕截图:[错误消息点击这里](http://hcs-it.com/ReportError.jpg) – Rob4236 2014-12-03 18:21:30