Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 出版的报告不';t工作-数据库登录失败错误_C#_Iis_Visual Studio 2013_Crystal Reports_Db2 - Fatal编程技术网

C# 出版的报告不';t工作-数据库登录失败错误

C# 出版的报告不';t工作-数据库登录失败错误,c#,iis,visual-studio-2013,crystal-reports,db2,C#,Iis,Visual Studio 2013,Crystal Reports,Db2,我正在开发一个简单的web应用程序,它有3个在VS 2013上创建的报告,出于某些原因,这些报告在开发人员模式下运行良好,但当我发布网站时,它们会给我“数据库登录失败”错误。这可能是什么原因造成的?VS安装在我发布报告的同一台服务器上。我创建了一个本地管理员用户,其信息与用于IIS身份验证的ODBC连接登录用户的信息完全相同,但仍然没有成功 下面是我的代码: public partial class OpenWOsWebForm : System.Web.UI.Page {

我正在开发一个简单的web应用程序,它有3个在VS 2013上创建的报告,出于某些原因,这些报告在开发人员模式下运行良好,但当我发布网站时,它们会给我“数据库登录失败”错误。这可能是什么原因造成的?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;
        }
    }
谢谢

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

如果是,请尝试以下方法:

试试这些:

  • 终止asp.net进程(w3wp.exe或aspnet.exe)(它将 重新启动)
  • 如果您使用的是XSD文件,请在中检查其位置路径 在RPT中,再次尝试“设置位置”;如果不起作用,请尝试删除这些表并将其包括在内(这将是一项艰巨的工作)

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

    在我的案例中,问题是在
    IIS应用程序池/my web app/Advanced Settings
    上,
    32位应用程序
    被禁用,我的项目中没有包含
    aspnet\u客户端
    where
    crystal运行时间文件
    是存储空间,所以在我发布应用程序时,这些文件没有传输。启用连接并包含该文件夹后,问题得到解决。

    在哪里可以查看详细信息。在我的web浏览器中,仅显示错误数据库登录失败@heringer