Crystal Reports,'您要求的报告需要更多信息'在开发中工作正常,而不是在测试服务器上工作

时间:2016-03-30 20:10:40

标签: asp.net vb.net dns crystal-reports odbc

我遇到Crystal Reports的问题,报告在开发环境中工作正常,但是,当在测试服务器中执行应用程序时,我从CrystalViewer得到此提示:

Server name:  *Here's the absolute path of the report in the development server*
Database name: *Correctly filled*
User name:  *Correctly filled* 
Password: *Empty*

这是我用来将登录信息传递给报告的代码:

Try
        rptDoc = New ReportDocument
        rptPath = Server.MapPath(rutaReporte)
        Dim conInfo As New ConnectionInfo
        conInfo.ServerName = Server.MapPath("~/reportes.dsn")
        conInfo.DatabaseName = "database"
        conInfo.UserID = "reportUser"
        conInfo.Password = "password"
        rptDoc.Load(rptPath)
        setInicioReportes(conInfo, rptDoc)
        CrystalReportViewer1.ReportSource = rptPath
    Catch ex As Exception
        'Show error message
    End Try

我不明白为什么CrystalReport没有识别我在代码中指定的DSN文件。在DNS文件中,我保存了密码,user_id,服务器和数据库,正如我之前所说,它正在开发环境中工作。

如果有人知道如何解决这个问题,那将非常有帮助。

感谢大家。

编辑:此外,当我在提示符中输入密码时尝试登录页面只刷新并且没有任何反应,提示会再次弹出。

1 个答案:

答案 0 :(得分:0)

在Visual Studio中,在解决方案资源管理器中,您需要单击引用,然后单击CrystalReports.Shared,然后按如下所示设置属性:

CopyLocal True

将Embed Interop Types设置为False,将Local Local设置为True。

CrystalDecisions.Shared是为CrystalReports存储连接类定义的位置。如果您的服务器上没有Visual Studio环境(或附近的此库),这可能是您收到错误的原因。

重新构建您的解决方案并将新的可执行文件放在您的服务器上,它应该可以正常工作!