【问题标题】:VB.NET - Deploying Crystal Report ApplicationVB.NET - 部署水晶报表应用程序
【发布时间】: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

标签: vb.net crystal-reports


【解决方案1】:

我只是使用:

 crDocument.SetDatabaseLogon("name", "password", "server", "database")

我已经避免了这些问题,只是使用它而不是上面的所有代码。我遇到了同样的问题,这让我发疯了。

这里有人可能知道原因,但我在上面发布的内容对我有用。

【讨论】:

  • 嗨 Keith,感谢您的回复,但没有解决问题。我已经使用 SetDatabaseLogon() 进行了更改,但它仍然可以在我的机器上运行,但是现在传递给 Crystal Report 的唯一内容是SERVER (LOCAL)\SQLEXPRESS,用户不再是他们的。挠头??我可以在 RPT 文件中硬编码连接吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多