cancel
Showing results for 
Search instead for 
Did you mean: 

Having runtime issues with CRVS2010 on Server 2012 r2 Deployment, I must be missing something

Former Member
0 Kudos

I have developed a .Net 4.0 Web Service that uses Crystal Reports 13 SP12 redistributable runtime to return reports rendered as HTML to callers of the service.  The Web Service is hosted in IIS 8.5 on Windows Server 2012 r2.  Report source files are developed in SAP Crystal Reports 2013.

Report parameters are passed in the service calls to the Web Service on the server where the *.rpt files are also hosted.  The service uses the CR libraries to open the rpt file and set appropriate DB connection info, and parameters values, then generates the report to a temp folder accessible by the service, then integrates html and image into a single html response to the caller.

I understand that Crystal is using other temporary folder locations for internal processing when generating (exporting) a report, I can see this in ProcMon on the server when the service call is made.  My problem is that no report is generated though I see tracing in Procmon that indicates a temp file is created in the temp folder, but I never physically get the file to process and return in the service call. 

I think I've got the right runtime, platform, and report editor based on information here, http://scn.sap.com/community/crystal-reports-for-visual-studio/blog/2013/06/28/how-do-you-spell-conf..., but perhaps not.

The Web Service with corresponding Crystal Reports 13 SP12 runtime redistributable works perfectly on Windows Server 2008 r2.  We are deploying both CR10.5 and CR 13 SP12.

These are the assembly references in the Web Service project:

CrystalDecisions.CrystalReports.Engine

CrystalDecisions.ReportSource

CrystalDecisions.Shared

CrystalDecisions.Web


Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Update for this issue.

I decided to install an evaluation version of the latest available SAP Crystal Reports client on the server where my Web Service is installed to see if the report I'm attempting to return from the Web Service runs on the local system.  After saving the report on the server having made no changes to the report proper, other than the connection type and information, the Web Server now returns the report content as expected.

When I ran the report within the Crystal client on the server, I made sure that I used the same connection type and login parameters that were used to create and test the report using the Crystal client in VS2010, (CRVS2010 integration, SP12).

After saving the report on the server having made no changes to the report proper, other than the connection type and information, the Web Server now returns the report content as expected.

Further, if I copy the report source back to my development system and open it in VS2010 (CRVS2010 integration, SP12), the report preview runs as expected.  When I save the report from VS2010, it will run correctly with my Web Service on the my development system, but will once again fail to run on the same Web Service deployed to the web server.

I've reviewed the versions of the Crystal Report runtime components on both my development and Web server systems and all are the same, version 13.0.2000.0.

I guess I can live with only deploying reports in production that are developed and saved using the SAP Crystal Reports client and perhaps that is truly the legitimate source.

However it would be nice if anyone could offer some explanation.  Perhaps this is simply a CRVS2010 SP12 issue.

Thanks

0 Kudos

HI Jeff,

First, Do NOT distribute 10.5 and 13 assemblies. They should not be mixed in your application. Remove the 10.5.

Configure IIS Temp folder for full read/write permissions. When exporting CR will first try to write a file and then attempt to delete it to make sure it has read/write permissions, if that fails then exporting will fail which is why you see it once and then it goes away.

Try searching, there is lots of info on how to configure IIS for CR.

Don

Former Member
0 Kudos

Hi Don,

Thanks much for the reply.

I have read much regarding the side-by-side deployment of the various Crystal runtimes, unfortunately in my case the mixed report format is necessary until we sunset a rarely used component of our client side product.  The components in question here are server side so I didn't feel overly concerned however they are installed on the server as well.

Since I was able to get the report to run (export) simply by saving the original report source using the SAP Crystal Reports editor, I knew I had the permissions on the Temp folder correct.

Since I am able run now, keeping in mind that I must develop reports with the SAP Crystal Reports client instead of using my CRVS2010 SP12 integrated client, I can move on.

I will remove the 10.5 components from the server and redo my testing, since the 10.5 runtime components are installed on my development system, perhaps something is getting into the report source when save in the report in Visual Studio.

Thanks,

Jeff

0 Kudos

Hi Jeff,

Thank you for the info...

Yes we also have run into that problem when updating older projects to VS 2010. Something in the migration wizard in VS does not remove/update all references so what we suggest is go into Programs and Features and uninstall the CR components for VS 2008. Then rebuild your project and the issues should go away.

Also, check your app.config or web.config files and remove any reference to 10.5 or replace them with 13.0.2000.0

Don

Former Member
0 Kudos

Thanks Don for the replies, I have removed Crystal 10 from my development system as well as the production systems.

I am still having issues.   Since my last response we have moved to supporting windows 2012 R2 and SQL Server 2012 and 2014, here is where the trouble begins anew.

I am installing the CRVS2010 SP12 runtime redistributable on the following Test platforms:

T1: Windows 2012 R2 with SQL Server 2012 R2

T2: Windows 2012 R2 with SQL Server 2014

All of our reports are developed with Crystal Reports 2013 on a Windows 7 workstation with SQL Server 2008.  We select ADO DB (ADO), SQL Server Native Client 10.0 for report development connection.  I do not change the provider in the ConnectionInfo when running the report within our web service, I only change the following:

            connectionInfo.DatabaseName = sqlConnectionString.InitialCatalog;

            connectionInfo.UserID = sqlConnectionString.UserID;

            connectionInfo.Password = sqlConnectionString.Password;

            connectionInfo.ServerName = sqlConnectionString.DataSource;

            connectionInfo.IntegratedSecurity = false;

            connectionInfo.Type = ConnectionInfoType.SQL;

            connectionInfo.AllowCustomConnection = true;

When deployed to Windows 2008 R2 with SQL Server 2008, reports run as expected, when deployed to T1 or T2, reports fail with "logon failed..." error.

I've noticed if I install Crystal Reports 2013 client on T1 and T2 I see that connection properties ADO DB (ADO) connection type include SQL Server Native Client 11.0 and SQL Server Native Client 12.0 for SQL 2012 and 2014 respectively.

Now I understand that if there are changes to the SQL Spec for and of the Database engines I wish to support, I could have issues if I don't use the Engine specific SQL client.  We have not found any SQL conflicts testing our application against SQL 2005, 2008, 2012, 2014, conflict only occurs with the reports.   I have tried changing the connection from SQL Server Native Client ??.0 to Microsoft OLE DB Provider for SQL Server to support multiple SQL versions with the same connection info.

Can you help me with what I am missing or misunderstanding?

Thanks, Jeff

0 Kudos

Hi Jeff,

SQL 2014 is not supported not the SQLNCLI12 client dll so you'll have to wait for likely SP 14 to get support for that DB.

What happens if you create a report on the Servers where CR and the app are installed and test those reports in your app?

Search for these KBA's:

1553921 - Is there a utility that would help in writing database logon code?

1553469 - How to enable Database logging in Crystal Reports for Visual Studio 2010

Links will not work for you so search on the number.

Use the first one on the new report created on the new server.

Use the second one to see what our DB driver is telling you as to why it's failing to log on.

Set the last property to 100 for complete logging. Be patient, lots of logging so performance is going to be bad.

Don

Former Member
0 Kudos

Thanks Don for the information, I apologize for my late response.

The source of the issue was that we were developing reports against a SQL2008, SQLNCLI10, then deploying the reports to SQL2012 or SQL2014, where the native client is SQLNCLI11.  Some reports would run, others would not.

Our report writers now develop reports against SQLNCLI11, which supports SQL2008, SQL2012, and SQL2014.

Thanks

Former Member
0 Kudos

I was also having same issue and was able to resolved it after changing the data provider from SQLNCLI10 to SQLOLEDB.

0 Kudos

Hi Neelesh,

SQLOLEDB which is shipped with MDAC package is not fully supported in SQL Server 2008 or above by Microsoft and therefore we do not fully support it either.

I suggest you have a closer look at the SQL being used and adjust the Server properties rather than go back to the old OLE DB provider.

Also be aware MS is going to drop OLE DB support and move to ODBC only since it's the industry standard across all platforms now.

Don

Former Member
0 Kudos

Thanks Don for your valuable info.

I'll look into that.

Neelesh

Answers (0)