【发布时间】:2014-12-03 18:14:17
【问题描述】:
我已经在我的 PC 上测试了我的程序,一切正常,但是当我尝试将 Windows 窗体应用程序部署到客户端计算机时,Crystal Reports 窗口会弹出询问密码,尽管事实上已经使用:
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()
我还注意到 Crystal Reports 弹出窗口中的数据库字段为空白,这可以解释为什么我在手动输入密码时收到错误:登录失败,但无法弄清楚为什么没有传递数据库名称。
我尝试更改 dbbox.text 中的表单(在 DEV PC 上)上的 DATABASE 名称,这确实会阻止报告运行,因此它应该将 DATABASE 作为连接字符串的一部分传递?
我已经在客户端机器上安装了 Crystal Report Viewer,虽然它可能是这样,但没有运气。 我可能需要安装 .NET v4 吗??
现在真的卡住了,希望得到一些指导。
谢谢 抢
【问题讨论】:
-
如果有帮助,这里是我的应用程序运行的屏幕截图,显示了我描述的错误:ERROR MESSAGE CLICK HERE