2011-06-02 40 views
0

我在将多个表报告部署到IIS服务器时遇到问题。该页面显示:“您请求的报告需要更多信息”。但是,我试图在服务器端设置databaselogon,但它不起作用。 (该报告在VS调试模式下工作正常)Crystal Report VS 2008 - 多个表报告部署

令人困惑的是,它只发生在多个表格报告上,并且它在单个表格报告上工作正常。

我使用VS2008和的CrystalReportViewer版本10

+0

[一个链接](http://stackoverflow.com/questions/9459882/push-data-from-multiple-tables-in-crystal-report)读取程序完全帮了我很多 – 2013-04-10 18:12:28

回答

1

当你得到“您请求的报告需要进一步的信息”,你提示登录?我认为这是需要进行数据库验证的标题消息。

如果是这样,您需要了解的是Crystal Reports运行时在ASP.NET服务器的安全上下文中运行的概念。 Crystal Report中的数据库连接可能设置为使用集成身份验证,这意味着报告将使用ASP.NET进程的凭据向数据库服务器进行身份验证。

在调试模式下,ASP.NET开发服务器作为用户帐户运行。毫无疑问,您可以访问数据库。但是,当您尝试在生产模式下运行时,ASP.NET服务器(默认情况下)或者作为IIS服务器上名为ASPNET的本地帐户运行,或者作为NetworkService帐户运行,具体取决于您运行的是哪个版本的IIS。

如果您正在运行IIS 7.x,则需要为IIS服务器的目录对象(NtDomainName \ ServerName $)访问数据库,或更改与您的ASP.NET应用程序关联的应用程序池的安全标识。

希望这可以让你走上正确的轨道,如果你仍然需要更多的帮助,请发布你正在运行的IIS版本以及更多关于你所获得的错误信息的信息。


回应评论:

要配置应用程序池,在IIS管理器中,选择有问题的网站,点击基本设置...,并检查它分配给应用程序池。然后进入应用程序池,您应该看到列出的池的当前标识。这是应用程序“运行”的帐户。该帐户需要访问Web应用程序中的所有文件和资源,包括MySQL数据库。

您可以在池的“高级设置”对话框中编辑标识设置。

不幸的是我不能给你任何关于MySQL的建议,因为我从来没有使用它。

+0

谢谢你的答复。您可以显示设置目录对象或更改安全标识吗?我使用IIS 7.5和MySQL作为我的数据库。 – alex 2011-06-03 03:00:13

+0

谢谢你的回复。是的,它提示登录,但它不允许我填写数据库名称字段,因此我也无法手动登录。您可以显示设置目录对象或更改安全标识吗?我使用IIS 7.5和MySQL作为我的数据库。 – alex 2011-06-03 03:12:28

+0

请参阅我的回复内嵌... – pseudocoder 2011-06-03 13:40:15