发布的报告不起作用 - 数据库登录失败错误
published reports don't work - Database logon failed Error
我正在开发一个简单的 Web 应用程序,它在 VS 2013 上创建了 3 个报告,出于某种原因,这些报告 运行 在开发人员模式下很好,但是当我发布网站时,他们给我 "Database logon failed"错误。是什么原因造成的? 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;
}
}
谢谢
除了"Database logon failed",还有"Unable to connect: incorrect log on parameters"吗?
如果是这样,试试这个:
并试试这些:
- 终止 asp.net 进程(w3wp.exe 或 aspnet.exe)(它将
重启).
- 如果您使用的是 XSD 文件,请检查它的位置路径
RPT,再次尝试"set location";如果它不起作用,请尝试删除表格并将它们包括在内(这将很辛苦)。
我多次遇到这个问题,每个案例都通过这些操作之一解决了。
在我的例子中,问题是 IIS Application Pools/ my web app/ Advanced Settings
上的 32 bit Applications
被禁用并且我没有在我的项目中包含 aspnet_client
文件夹,其中 crystal run-times files
是存储,所以当我发布应用程序时,这些文件没有传输。启用连接并包含该文件夹后,问题就解决了。
我正在开发一个简单的 Web 应用程序,它在 VS 2013 上创建了 3 个报告,出于某种原因,这些报告 运行 在开发人员模式下很好,但是当我发布网站时,他们给我 "Database logon failed"错误。是什么原因造成的? 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;
}
}
谢谢
除了"Database logon failed",还有"Unable to connect: incorrect log on parameters"吗?
如果是这样,试试这个:
并试试这些:
- 终止 asp.net 进程(w3wp.exe 或 aspnet.exe)(它将 重启).
- 如果您使用的是 XSD 文件,请检查它的位置路径 RPT,再次尝试"set location";如果它不起作用,请尝试删除表格并将它们包括在内(这将很辛苦)。
我多次遇到这个问题,每个案例都通过这些操作之一解决了。
在我的例子中,问题是 IIS Application Pools/ my web app/ Advanced Settings
上的 32 bit Applications
被禁用并且我没有在我的项目中包含 aspnet_client
文件夹,其中 crystal run-times files
是存储,所以当我发布应用程序时,这些文件没有传输。启用连接并包含该文件夹后,问题就解决了。