发布的报告don't work -数据库登录失败错误

本文关键字:work 数据库 登录 错误 失败 报告 don | 更新日期: 2023-09-27 17:54:51

我正在开发一个简单的web应用程序,在VS 2013上创建了3个报告,由于某种原因,这些报告从开发人员模式运行良好,但是当我发布网站时,他们给我"数据库登录失败"错误。是什么原因造成的呢?VS安装在我发布报告的同一服务器上。我已经创建了一个本地管理用户,其信息与用于IIS身份验证的ODBC连接登录用户完全相同,但仍然没有成功。

下面是我的代码:
public partial class OpenWOsWebForm : System.Web.UI.Page
    {
        ConnectionInfo EPAKconnectionInfo = new ConnectionInfo();
        protected void SetConnectionInfo()
        {
            EPAKconnectionInfo.ServerName = ConfigurationManager.AppSettings["EPAK_SERVER_NAME"];
            EPAKconnectionInfo.UserID = ConfigurationManager.AppSettings["EPAK_USER_NAME"];
            EPAKconnectionInfo.Password = ConfigurationManager.AppSettings["EPAK_PASSWORD"];
        }
        private void Page_Init(object sender, EventArgs e)
        {
            ReportDocument report = new ReportDocument();
            report.Load("C:''Delray Beach''Delray Beach''Reports''OpenWOsReport.rpt");
            SetConnectionInfo();
            TableLogOnInfo crTableLogoninfo = new TableLogOnInfo();
            foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in report.Database.Tables)
            {
                crTableLogoninfo = CrTable.LogOnInfo;
                crTableLogoninfo.ConnectionInfo = EPAKconnectionInfo;
                CrTable.ApplyLogOnInfo(crTableLogoninfo);
            }
            foreach (ReportDocument subreport in report.Subreports)
            {
                foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in subreport.Database.Tables)
                {
                    crTableLogoninfo = CrTable.LogOnInfo;
                    crTableLogoninfo.ConnectionInfo = EPAKconnectionInfo;
                    CrTable.ApplyLogOnInfo(crTableLogoninfo);
                }
            }
            OpenWOsViewer.ReportSource = report;
            OpenWOsViewer.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
        }
    }

谢谢

发布的报告don't work -数据库登录失败错误

除了"数据库登录失败"之外,它是否说"无法连接:不正确的登录参数"?

如果是,试试:https://stackoverflow.com/a/24578304/2248943

试试这些:

  1. 终止asp.net进程(w3wp.exe或aspnet.exe)重启)。
  2. 如果您使用的是XSD文件,请检查它的位置路径RPT,尝试再次"设置位置";如果它不工作,尝试删除表,并包括他们ok(这将是辛勤工作)。

这个问题我遇到过很多次,每次都通过其中一个操作解决了。

在我的情况下,问题是在IIS Application Pools/ my web app/ Advanced Settings32 bit Applications是禁用的,我没有包括在我的项目文件夹aspnet_client,其中crystal run-times files是存储的,所以我发布应用程序的时候,这些文件没有传输。一旦我启用连接并包含该文件夹,问题就解决了。