Symptom
How to configure Crystal Reports Server Embedded Round Robin RAS servers
Environment
SAP Crystal Reports Server (OEM) All Versions
Resolution
- Sample source code for .NET C# test application:
using System;
using System.Collections.Generic;
using System.Text;
using CrystalDecisions.ReportAppServer.ClientDoc;
using CrystalDecisions.ReportAppServer.Controllers;
using CrystalDecisions.ReportAppServer.DataDefModel;
using CrystalDecisions.Enterprise.Admin;
using CrystalDecisions.Enterprise;namespace EROMTestApp
{
class Program
{
static void Main(string[] args)
{
int i=0;
ReportClientDocument rcd;
//= new ReportClientDocumentClass();
string reportPath = "C:\\World Sales Report.rpt";
object reportPathAsObject = (object)reportPath;
for (i = 0; i < 5; i++)
{
rcd = new ReportClientDocumentClass();
rcd.Open(ref reportPathAsObject, 0);
if (rcd != null)
{
System.Console.WriteLine("The report application used is:" + rcd.ReportAppServer);
rcd.Close();
}
}
}
}
}Round Robin of the RAS Services is handled by the use of an XML file as described below:
-
CRSE2K8PC1 is the name of the test Server and the IP address is the second server.
-
The IP address is used for this test.
-
The PC name can be used depending on how the DNS servers are set up.
-
It is located in this folder only:
C:\Program Files\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\clientSDKOptions.xml<CrystalReports.ClientSDKOptions xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" version="2" xsi:type="CrystalReports.ClientSDKOptions">
<ServerInfos version="2" xsi:type="CrystalReports.ServerInfos" id="1">
<ServerInfo version="2" xsi:type="CrystalReports.ServerInfo" id="2">
<Server>CRSE2K8PC1.product.businessobjects.com:1566</Server>
<Adapter>TCPIP</Adapter>
</ServerInfo><ServerInfo version="2" xsi:type="CrystalReports.ServerInfo" id="3">
<Server>10.165.237.146:1666</Server>
<Adapter>TCPIP</Adapter>
</ServerInfo><ServerInfo version="2" xsi:type="CrystalReports.ServerInfo" id="4">
<Server>CRSE2K8PC1.product.businessobjects.com:1766</Server>
<Adapter>TCPIP</Adapter>
</ServerInfo>
</ServerInfos>
<CORBARequestTimeout>600000</CORBARequestTimeout>
<VerifyDatabaseOnSetDataSource>true</VerifyDatabaseOnSetDataSource>
</CrystalReports.ClientSDKOptions>Warning: XML file must not have any Carriage Returns or line breaks. If you find this is not working check the xml file first.
-
You no longer need to use the SC command line function to add RAS services.
-
Use the Crystal Configuration Manager (CCM) from the start menu and to add one or more local RAS services to the local PC or one located on another computer.
-
You must specify a new IPPORT so they do not conflict with each other as well as the CPU ( affinity) assignment.
-
The default port for the first RAS Service is 1566.
-
It is not necessary to manage which RAS service to send the report to, RAS will do this automatically.
-
Required steps:
-
Stop RAS
-
Click on Properties
-
Select the Parameter tab
-
Choose Server in the drop down list for Option type
-
Browse to the directory where your reports will be saved.
-
The Document has more information on how to configure this directory.
-
It defaults to our sample report location which does not exist with Crystal Reports Server Embedded install.
-
You can use the locations from Crystal Report Designer for testing.
-
ALSO NOTE: .NET will sequencially pass each job to the next RAS Service listed in the xml file. A Java application will randomly assigned the next report
To run RAS in Console mode for debugging purposes see attached KBA - 2832968
Keywords
CRSE, Round Robin, .net , KBA , BI-DEV , Business Intelligence Software Development Kits (SDKs) , How To
Product
Crystal Reports Server 2008 V1, OEM edition ; SAP Crystal Reports Server 2011, OEM edition ; SAP Crystal Reports Server 2013, OEM edition ; SAP Crystal Reports Server 2016, OEM edition ; SAP Crystal Reports Server 2020, OEM edition