C# Crystal Reports-仅在生产计算机上登录数据库失败

C# Crystal Reports-仅在生产计算机上登录数据库失败,c#,iis,crystal-reports,C#,Iis,Crystal Reports,我在应用程序中使用Crystal reports,并且在开发机器上正常工作。当我将应用程序放在生产机器的IIS上时,出现以下错误“数据库登录失败” 任何形式的帮助都将不胜感激 我使用以下代码: public void sendEmail(int id) { ReportDocument cryRpt = new ReportDocument(); cryRpt.Load(@"C:\temp\rep1.rpt"); cr

我在应用程序中使用Crystal reports,并且在开发机器上正常工作。当我将应用程序放在生产机器的IIS上时,出现以下错误“数据库登录失败”

任何形式的帮助都将不胜感激

我使用以下代码:

public void sendEmail(int id)
    {
        ReportDocument cryRpt = new ReportDocument();

        cryRpt.Load(@"C:\temp\rep1.rpt");
        cryRpt.SetDatabaseLogon("username", "pass");
        cryRpt.SetParameterValue("@ID", id);

        emailCreator(from, to, subject, body, "Attachment.pdf", cryRpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat));
    }

此问题可能由禁用32位应用程序引起,请尝试启用它。这有一个类似的问题,您可以参考它:谢谢您的回答,但我已经在IIS上启用了32位应用程序,并且aspnet_客户端文件夹位于wwwroot上,但我仍然收到相同的错误。IIS和数据库是否位于同一台计算机上?否,它们位于不同的服务器上。开发机器与数据库位于不同的机器中,但正在工作。IIS可以使用我用于报表的用户访问数据库。在IIS应用程序池下。检查为web应用程序选择的应用程序池的高级设置。确保它在Administrator下运行,并且我们需要拥有访问此文件夹的权限,以便在运行时将报告加载到查看器中。还要确保在服务器上安装了.Net Framework的运行时。仅当IIS位于远程服务器上时,才需要执行此设置。如果IIS和数据库在同一台计算机上,则不需要此设置。然后,应用程序池只能作为本地服务运行。