Carla Romere
asked on
Crystal Reports in asp.net stopped working
I have several CR reports set up using VS 2010 and CR 2010 for VS. They were working perfectly yesterday. Now all of them are giving me this error:
Unsupported Operation. A document processed by the JRC engine cannot be
opened in the C++ stack.
Description:
An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and
where it originated in the code.
Exception Details:
System.Runtime.InteropServ ices.COMEx ception: Unsupported Operation. A
document processed by the JRC engine cannot be opened in the C++ stack.
Line 48: private void SetDBLogonForReport(Connec tionInfo connectionInfo)
Line 49: {
Line 50: TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnI nfo;
Line 51: foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
Line 52: {
This is the code that I'm using that was working perfectly.
string reportPath = ("~/customreports/AP_TRANS _GL_POSTIN GS2.rpt");
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "sdwinsql03v";
connectionInfo.DatabaseNam e = "fin_prod";
connectionInfo.UserID = "xxx";
connectionInfo.Password = "xxx";
crystalReportViewer.Report Source = reportPath;
SetDBLogonForReport(connec tionInfo);
}
private void Page_Init(object sender, EventArgs e)
{
ConfigureCrystalReports();
}
private void SetDBLogonForReport(Connec tionInfo connectionInfo)
{
TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnI nfo;
foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
{
tableLogOnInfo.ConnectionI nfo = connectionInfo;
}
}
What would cause them to quit working?
Unsupported Operation. A document processed by the JRC engine cannot be
opened in the C++ stack.
Description:
An unhandled exception occurred during the execution of the current web
request. Please review the stack trace for more information about the error and
where it originated in the code.
Exception Details:
System.Runtime.InteropServ
document processed by the JRC engine cannot be opened in the C++ stack.
Line 48: private void SetDBLogonForReport(Connec
Line 49: {
Line 50: TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnI
Line 51: foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
Line 52: {
This is the code that I'm using that was working perfectly.
string reportPath = ("~/customreports/AP_TRANS
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.ServerName = "sdwinsql03v";
connectionInfo.DatabaseNam
connectionInfo.UserID = "xxx";
connectionInfo.Password = "xxx";
crystalReportViewer.Report
SetDBLogonForReport(connec
}
private void Page_Init(object sender, EventArgs e)
{
ConfigureCrystalReports();
}
private void SetDBLogonForReport(Connec
{
TableLogOnInfos tableLogOnInfos = crystalReportViewer.LogOnI
foreach (TableLogOnInfo tableLogOnInfo in tableLogOnInfos)
{
tableLogOnInfo.ConnectionI
}
}
What would cause them to quit working?
WHat changed overnight on the system?
mlmcc
mlmcc
ASKER
I have narrowed it down to the path to the reports, however, nothing has changed since yesterday other than the authentication method on the IIS server. If I move the report into the website, it pulls up just fine. But, I can't do that as a permanent solution. I need help figuring out why the path isn't working. It's configured as a Virtual Directory in IIS pointing to the other server where the report files are actually located.
ASKER
Only the authentication method on IIS 7.5. It was set to Anonymous, but then I wasn't able to get the logged in user's name and that's required on many reports. So I changed the authentication to Windows and Digest, which is now working correctly. I even removed the virtual directory and re-added it, but it's still not working.
How have you changed the authentication method ? sounds like the user account running the application doesn't have permissions to the new report location.
ASKER
Ok I am NOT a server engineer and am really flying blind here with the help of Google and Experts-Exchange. Someone in the IIS group helped me get the authentication working. I changed from Anonymous Authentication to Digest Authentication Enabled (no realm entered) and Windows Authentication, Extended Protection=Accept, Enable Kernel-mode authentication=False, Providers=NTLM, Negotiate (in that order). As far as the user account running the application, where do I find that?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
When I first posted it, I didn't know what the problem was. But now that I know that is the problem, I could repost it in IIS if the above link doesn't get me where I need to be.
ASKER
That was the problem. Once I changed the ApplicationPool identity to the user I'd given read/write access to the reports folder, it started working again. Thanks!
Glad you got it working.
Just a note, if you;re going to be running multiple applications on this server you might want to create new ApplicationPools for each individual application.
Just a note, if you;re going to be running multiple applications on this server you might want to create new ApplicationPools for each individual application.
ASKER
There are separate app pools so far. Right now all that's running is one web app and Sharepoint 2010 Foundation and they do have separate app pools. Geesh, talk about a crash course in server engineering! This has been nuts, but I've learned a lot for sure!
I would check your database connection and user account to make sure it is still able to connect