FRM-41214 when specifying reports server
Hi all,
we use forms/reports 11g
we call our reports from forms
as soon as we include this in our code :
SET_REPORT_OBJECT_PROPERTY(rp2rroNodeId,REPORT_SERVER,rp2rroReportServer);or fill out the property Report Server of the reports object in forms builder
this causes FRM-41214 when calling
rp2rro_jobidFull:=run_report_object(rp2rroNodeId);however when we look in the reports queue the report is run without a problem
which prooves that we specified the correct reports server
report destination type is CACHE
nothing shows up in the reports logfiles
any solution/cause
Kr
Martin
In order to rule out code or configuration, I would recommend trying some simpler code and not use rp2rro library.
Here is some simplified code which is based on the example document Oracle has provided for a long time. To use it do the following:
1. In your form, create a dummy report object named REPORT1. Don't worry about its properties as these will be set in code.
2. In the code below, replace :block1.SERVERNAME with the name of your Reports Server. You can hard code it or use a variable. This value appears a couple of times in the code so be careful.
3. In the code below, replace :block1.REPNAME with the path and name of the Reports rdf file you plan to use for your report.
4. If you are not using the HTTP Server and are calling WLS directly, you will need to change the relative URL in the Web.Show call to a fully qualified URL and ensure the correct port is indicated. This will not be necessary if requests are being routed through HTTP Server.
5. Put this code in a test button and run the form.
Declare
repid REPORT_OBJECT;
v_rep varchar2(256);
rep_status varchar2(256);
Begin
repid := find_report_object('REPORT1');
-- Set Report Object properties
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE, CACHE);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESFORMAT, 'HTML');
-- Comm mode 1 = SYNCHRONOUS
-- Comm mode 2 = ASYNCHRONOUS
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, 1);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_SERVER, :block1.SERVERNAME);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME, :block1.REPNAME);
-- SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,:block1.otherparams);
SYNCHRONIZE;
-- Run report and get status
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := report_object_status(v_rep);
SYNCHRONIZE;
-- Wait for Reports to generate results
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
SYNCHRONIZE;
-- If DESTYPE is appropriate for displaying to user, execute WEB.SHOW
IF rep_status = 'FINISHED' THEN
WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server='||:block1.SERVERNAME,'_blank');
ELSE
message(rep_status);
END IF;
END;If the above works correctly, you can probably assume your issue is in your code. However if it fails in the same manner as you saw previously, the issue is likely related to a config problem. You may need to use the Reports Naming Service. Refer to the following:
http://docs.oracle.com/cd/E21764_01/bi.1111/b32121/pbr_arch003.htm#CHDHBFFC
Similar Messages
-
FRM-41213 When calling report from a form using RUN_REPORT_OBJECT
Hi,
I get an error frm-41214:unable to connect to the report server when i am trying to call a report from a form using RUN_REPORT_OBJECT.
My code is as follows:
I have created a simple report using employee table such tht when i give the department number as parameter it should get the corresponding details along with that i also have highlited the system parameters:
DESFORMAT
DESNAME
DESTYPE
also other user parameters as
p_action
p_servername
p_user_connect
and in the before parameter form trigger the following code:
function BeforePForm return boolean is
vc_parameter_form VARCHAR2(4000);
vc_hidden_runtime_values VARCHAR2(1000);
vc_report_name VARCHAR2(100);
begin
IF (:P_ACTION = '_action_') THEN
vc_hidden_runtime_values := '_hidden_';
ELSE
srw.get_report_name(vc_report_name);
vc_hidden_runtime_values:='report='||vc_report_name||'&destype='||:destype||'&desformat='
||:desformat||'&userid='||:p_user_connect||'&server='||:p_servername;
END IF;
vc_parameter_form:='<html><body bgcolor="#ffffff"><form method=post action="'
||:P_ACTION||'">'||'<input name="hidden_run_parameters" type=hidden value="'
||vc_hidden_runtime_values||'">'||'<center><p><table border=0 cellspacing=0 cellpadding=0><tr><td>'
||'<input type=submit></td><td width=15><td><input type=reset></td>'||'</tr></table><p><hr><p>';
srw.set_before_form_html(srw.text_escape,vc_parameter_form);
return (TRUE);
end;
After this i created a form with department table as my datablock:
I created a report object in the form with name REPORT6.
-Created a procedure in the form with the following code
PROCEDURE RUN_REPORT_OBJECT_PROC(report_id REPORT_OBJECT,reportserver VARCHAR2,runformat VARCHAR2) IS
report_message VARCHAR2(100);
rep_status VARCHAR2(100);
vc_user_name VARCHAR2(100);
vc_user_password VARCHAR2(100);
vc_user_connect VARCHAR2(100);
vc_connect VARCHAR2(300);
BEGIN
vc_user_name:=get_application_property(username);
vc_user_password:=get_application_property(password);
vc_user_connect:=get_application_property(connect_string);
vc_connect:=vc_user_name||'/'||vc_user_password||'@'||vc_user_connect;
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,runformat);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,reportserver);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'p_deptno='
||:Dept.Deptno
||' paramform=yes P_USER_CONNECT='
||vc_connect||' P_SERVERNAME='||reportserver
||' P_ACTION=http://iitv-1:8888/reports/rwservlet?');
report_message:=run_report_object(report_id);
rep_status := report_object_status(report_message);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
rep_status := report_object_status(report_message);
END LOOP /* Wait for Report to be finished */;
IF rep_status='FINISHED' then
web.show_document('http://iitv-1:8888/reports/rwservlet/getjobid'||
substr(report_message,instr(report_message,'_',-1)+1)||'?server'
||reportserver,'_blank');
ELSE
message (rep_status||' Report output aborted');
END IF;
END;
I created a press button and in the when_button_pressed trigger i added the following code:
declare
repid REPORT_OBJECT;
repserver VARCHAR2(100);
runformat VARCHAR2(10);
BEGIN
repid := find_report_object('REPORT6');
repserver := 'rep_iitv-1';
runformat := 'HTML';
run_report_object_proc(repid,repserver,runformat);
END;
Then tried to run the form but i got this error frm-41213 unable to connect to the report server.
Any one please help me.Run_report_object can't work with forms9i
Regards
Vikas Singhal -
FRM-41214 while calling Report from Forms DS9i
Hi !
I am getting FRM-41214 'Unable to run Report' when i run a report using Run_report_object in Developer Suite 9i. I have checked the Report server which is up and running. Any suggestion for troubleshooting.
Take care
ImranThis is Note:260451.1, you can try it:
Newly created Key in cgicmd.dat file returns the following error when called with rwservlet:
REP-50003: Bad command line
Changes
New key created in cgicmd.dat file.
Cause
Used tabs to add space after ":" and before first parameter.
Fix
1. Edit the cgicmd.dat file.
2. Remove the tab after ":" and before first parameter.
3. Use spaces to separate ":" from first parameter.
Note: Remember that multiple keys in this file MUST be separated by an EXTRA empty line.
This is documented in cgicmd.dat sample as rule 1. -
Getting FRM-41029 when calling report from form
Hi
I have following procedure to run the report but its running fine but giving error FRM-41029 when calling the report from the form.
runrep('MATREP,'REPSER','PDF','F:\rec\RepEnt.RDF');
Repid := FIND_REPORT_OBJECT(repobj);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE, RUNTIME);
set_report_object_property(repid, REPORT_SERVER, repserv);
set_report_object_property(repid, REPORT_COMM_MODE, SYNCHRONOUS);
set_report_object_property(repid, REPORT_DESTYPE,'file');
set_report_object_property(repid, REPORT_DESFORMAT,repfor);
set_report_object_property(repid, REPORT_FILENAME,repfile);
rgds
soumyahi
try something like this.
PROCEDURE sarah ( p_report_name varchar2, vParamValue number ) is
l_param_list paramlist;
l_rep_id report_object;
l_rep_job varchar2(100);
l_rep_status varchar(100);
BEGIN
l_param_list := Get_parameter_List('tmp');
IF NOT Id_Null(l_param_list ) THEN
Destroy_parameter_List( l_param_list );
END IF;
l_param_list := Create_parameter_List('tmp');
add_parameter(l_param_list ,'p_num',text_parameter,to_char( vParamValue ));
l_rep_id := FIND_REPORT_OBJECT( p_report_name );
if
id_null ( l_rep_id )
then
msg ( 'There is no Report ' || p_report_name || ' in form ' || name_in ( 'system.current_form' ) );
raise form_trigger_failure;
end if;
SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_DESTYPE,cache);
SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(l_rep_id, REPORT_OTHER, 'paramform=no');
l_rep_job := RUN_REPORT_OBJECT( l_rep_id, l_param_list );
l_rep_status := REPORT_OBJECT_STATUS( l_rep_job );
WHILE l_rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
l_rep_status := report_object_status( l_rep_job );
END LOOP;
WEB.SHOW_DOCUMENT('http://sarah:8889/reports/rwservlet/getjobid'||substr(l_rep_job,instr(l_rep_job,'_',-1)+1) || '?server=repserver', '_blank');
END; then u may call the procedure something like this.
when-button-pressed trigger.
begin
sarah ('REPORT6', :block.item );
end;sarah
Edited by: S@R@h on Nov 30, 2009 9:39 PM -
There is a problem connectiong to the specified reporting Server SCCM 2012 SSRS
hi,
I'm Trying to install reporting services point SCCM 2012, I configured the
site system role without problems, but when I tried to configure the report options I get this error:
"There is a problem connectiong to the specified reporting, please check the conection and make sure SQL Reporting Service is running on the especified server. "
The reporting service is running on remote server, I'm using SQL SERVER 2008.
Two Questions:
1: Which is the cause of the error?
2: Which right permissions must have the reporting services point account?
Thanks.Are you allowing port 1433 through the firewall?
Which release of SQL Server are you using and have you applied the relevant minimum CU? Details here
http://sccmentor.wordpress.com/2013/12/31/sql-server-site-database-configuration/
Which version of SRS is installed? If 10.50.1600.1 you will need to get this updated to above 2500 level.
http://www.mssccmfaq.de/2012/05/15/srs-not-detected-as-running/
Cheers
Paul | sccmentor.wordpress.com -
Libjvm.so error when starting reports server
I am running on SUSE Linux with AS Forms and Reports 10g.
I having difficulties when starting a new reports server that outputs to a display, and I would appreciate any suggestions as to how they can be overcome.
I am running on a single PC so have configured the system to use the namingservice.
namingservice.sh 14021 &
Naming Service Started Sucessfully
after this
> rwserver.sh server=test_server batch=yes
> rwdiag.sh -findAll
This correctly shows the server.
However if I omit the batch=yes part of the server launch then the error occurs.
To set up the display I used
> DISPLAY=:0.0; export DISPLAY
and to verify that the display was okay I used
> xclock&
But
> rwserver.sh server=test_server
gives the following error
Warning: Cannot find callback list in XtAddCallback
Unexpected Signal : 11 occured at PC=0xB7C8D60F
Function=(null)
Library=/usr/lib/oracle/AS/app/oracle/product/10.1.3/OracleAS_1/jdk/jre/lib/i386/server/libjvm.so
Note: We are unable to locate the function name symbol for the error just occured. Please refer to the release documentation for possible reason and solution.
Current Java Thread:
at sun.awt.motif.MLabelPeer.create(Native Method)
...I have managed to resolove this problem by updating the installed JDK. I installed jdk-6u6-linux-i586-rpm.bin (downloaded from http://java.sun.com/)
I then updated the LD_LIBRARY_PATH in $ORACLE_HOME/bin/reports.sh to agree with the installed JDK locations. -
Graphs not shown in EXCEL, when the reports server is secured with SSL
We installed a SSL certificate on the reports server to run as https instead of http and the graphs in the reports stopped working for desformat=EXCEL. The graphs in the pdf output run fine.the version we are using is Oracle reports 10g
Hi,
I had similar kind of problem and see below for details.
I am using Vertical bar charts in my RTF Tempalte and output format is EXCEL. When i am prevewing from BI Publisher desktop output it is showing the charts . When i Used same template and running in the server side(i.e oracle applications concurrent manager ) it is not showing the charts in the output. If i run the same template through oracle applications concurrent manager with PDF output it is showing charts in the output.
Please share your thoughts/experiences/suggesition regarding this.
If any help appreciated.
Thanks,
Dinesh -
Printer not installed error when using reports server
Im using three NTYRE architecture when i have to run my application on 128kbps leazed line network across 30 units,requirement is to generate text output at the client side for printing some report formats in character mode.
im trying to generate a text file on server and then download to local machine for printing .but reports server gives an error printer not installed,
i have checking administrative security probs in WINNT ,
pls suggest or is there any other way to generate text reports in NTIER arch.
regardsHi,
You may want to check if a printer is installed in your WinNt system. Reports picks up font information from the default
printer installed in the system when we attempt to generate to file.
thanks
-sudha -
FRM-41219 when run report having a form opened
I cannot run a web report (called from the menu) if any form is opened.
I'm getting error: FRM-41219 Cannot Find Report.
If the form is minimized, I can execute the report successfully.Hi Leontin,
Can you explain what exactly you mean "If the form is minimized" ?
What exact Reports & Forms version are you using ?
Is this error consistent whenever you run a web report ?
Are you getting for any web report / for a specific Report ?
Thanks,
Vinod. -
FRM-41214 when calling a report from a form in DS1012
This is weird. I have a report that contains a lexical parameter that is intended to add an "AND" clause to the WHERE so I can use the same report to do an unrestricted query or a restricted query.
To do an unrestricted query, this works fine:
ls_param := 'and_clause='||''||' paramform=no';
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,ls_param);
v_rep := RUN_REPORT_OBJECT(repid);
etc. according to all the notes on the matter. The report runs and brings back all rows because the "AND" part of the WHERE is null,
But as soon as I attempt to modify the ls_param variable, the form refuses to run. I am not mis-using the single quotes. I have all the quotes in variables as in:
ls_and_clause := chr(32)||' AND id IN (';
to set the first part of the clause, followed by:
FOR id_rec in id_list LOOP
ls_and_clause := ls_and_clause ||QT||id_rec.id||QT||',';
END LOOP;
where id_list is a cursor that brings back a list of IDs qualified per user, and QT is a variable that holds chr(39).
I have read the notes on being careful not to pass spaces, so everything is concatenated into a single variable that gets passed on the final
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,ls_param);
where ls_param includes something like "and_clause = 'AND id in ('901','902') paramform=no"
Seems to me, this should work. Does anyone else have any insight on doing this kind of thing?Thanks for the toubleshooting tip. It helped me find the problem. For some reason when the AND clause included the table name, the report would not run. But when the AND clause does not include the table name, the report works:
AND table.col IN ('101','102') fails, but
AND col IN ('101','102') works.
Go figure. I just hope I never have to do this when the table name is required to remove ambiguity. -
Urgent: Getting FRM-41211 when calling reports from forms for first time.
Hi,
We are running into the FRM-41211 error, when the users try to call a report from a form. The report is called from a form in SYNCHRONOUS mode. This is the only report that is being called. No other report is
running at that time when the users get this error. This is happening only the first time when they try to call the report from the form. After getting this error, when they click on OK, and when they try to call this
report again, the report works fine.
Any ideas?? It's urgent...
Thanks
Vamshi.
nullMaybe try to use "run_report_product"?
-
Hi,
In some of our machines, my report sometimes not working.
It throws FRM-41214 error.
But the error not appears in the showlogs url.
But, when i re-login in a fresh IE, it works fine from the same machine.
Any idea, what is the root cause
Thanks in Advance
A.Gopalhi
please check out the following links.
http://download.oracle.com/docs/html/A73173_01/output/pbr_conf.htm
Clear Reports cache after running report
Re: Sometimes get FRM-41214
if the report server is not up and its not running then also it will give u the following error.
FRM-41214 Reports Error
sarah
Edited by: SaRaH on Jul 20, 2010 1:36 AM -
Error calling Report and unable to bind Report Server
Hi,
I use Oracle Database 10g with Oracle Developer 10.1.2, in Windows 2000.
I don't have nor use Oracle Application Server though.
I tried to call a report from a Form, using Run_Report_Object.
But the following error appeared.
Error FRM-41213 Unable to connect to Report Server rep_<computer_name>
I also tried to call a report, using Web.Show_Document.
It launch another web browser, but the following error occured
REP-51002: Bind to Reports Server rep_<computer_name> failed
Based on the white paper of Oracle Application Server 10g - Integrating Oracle Reports in Oracle Forms Services applications.
I create my own report server using following command
rwserver server=repsrv.
Another java-based windows showed up. It shows that the server 'repsrv' is ready.
I do the following:
1. Navigate to http://localhost:8889/reports/rwservlet using web browser.
It showed OracleAS Report Services - Servlet Command Help page.
But there is no other window popup (The white paper stated that a 'in process' server
should be invoked when starting a report for the first time).
2. Navigate to http://localhost:8889/reports/rwservlet?userid=PRACTICE/PRTC@MYDB&report=C:\PRACTICE\FORM\MODULE1.JSP&destype=cache&desformat=html¶mform=no&p_1=P1&p_1=P2
my schema is PRACTICE, password PRTC and database instance MYDB
the report path = C:\FORM\MODULE1.JSP
The following error occured
REP-51002: Bind to Reports Server rep_<computer_name> failed
3. Finally, I tried
http://localhost:8889/reports/rwservlet?server=REPSRV&userid=PRACTICE/PRTC@MYDB&report=C:\PRACTICE\FORM\MODULE1.JSP&destype=cache&desformat=html¶mform=no&p_1=P1&p_1=P2
The following error occured
REP-51002: Bind to Reports Server repsrv failed
I don't understand.
It seems that the Report Service is not recognized although the java-based window state that the Report Server (repsrv) is ready.
My questions:
1. Does it means that my report server is not running?
Or it is running but the web browser didn't recognize it?
I use Internet Explorer 5 and Netscape 7, both of them showed the same error message.
2. The paper said there is supposed to be 2 type of server, 'In process' and custom server.
Both of them will create a configuration file in /reports/conf in DevSuiteHomeDirectory.
I can see the custom report server's configuration file which I create using rwserver
(repsrv.conf)
but I can't see the 'in process' server's configuration file (rep_<computer_name>.conf).
What am I supposed to do?
3. Is there any steps with I supposed to do after the installation?
Well, I didn't find any error during the installation, everything seems to be just fine.
Perhaps, I need to modify some files, specifya report server name,
create the 'in process' server manually.
Many thanks,
ImeldaHi,
I have already tried your suggestion.
Since I am in Windows 2000 platform, so I do the first suggestion from the documentation.
If the host machine is not in a network (that is, it is a standalone machine).
Solution for Windows platform: Install the MS loopback adapter, as described on the Miscrosoft Web site (http:\\microsoft.support.com). Then, specify an IP address for your machine (either XP or Windows 2000), as follows:
1. On your desktop, right-click My Network Places, and choose Properties.
2. Right-click the MS loopback adapter, and choose Properties.
3. In the Properties dialog box, select Internet Protocol (TCP/IP), and click Properties.
4. Select Use the following IP address, and enter a valid IP address. The subnet mask field will automatically populate. Do not use the local host IP (that is, 127.0.0.1). For example, enter: 198.162.1.1.
5. Click OK, and follow the instructions displayed.
There is also solution for UNIX platform.
But I do the Solution for Windows platform only.
But still I've got the following error message :
REP-51002: Bind to Reports Server rep_<computer_name> failed
And in the command line of OC4J which I started, the following error appeared :
Not able to load oracle.reports.util.EnvironmentGlobal class
Using oracle.reports.util.Environment class
BTW,
I also tried to use the command lin rwrun :
rwrun report="D:\My Documents\TryReport\module1.jsp" userid=scott/tiger@orcl destype=file desformat=pdf desname="D:\My Documents\TryReport\module1.pdf"
And somehow a PDF file appeared.
It contains the output of the report I created.
It exactly the same as the preview of the web layout which is run from Report Builder (Run Web Layout CTRL-R).
Could this mean that the In-Process server is running?
Perhaps the browser did not understand how to connect to Report Server?
Is there anything should be done?
Should I also do the Solution for UNIX platform? (Mine is Windows)
And, why for Oracle Form (running as a servlet), everything seems to be normal?
Does the Oracle Form use different server from Oracle Report?
The problem is only when I tried to call report using a button inside Oracle Form.
(Run_Report_Object and Web.Show_Document)
Any light would be grateful.
Many thanks,
Buntoro -
The report server has encountered a configuration error. Logon failed for the unattended execution account. (rsServerConfigurationError)
Log on failed. Ensure the user name and password are correct. (rsLogonFailed)
Logon failure: unknown user name or bad password
am using Windows integrated security,version of my sql server 2008R2
I have go throgh the different articuls, they have given different answers,
So any one give me the exact soluction for this problem,
Using service account then i will get the soluction or what?
pls help me out it is urgent based.
Regards
Thanks!Hi Ychinnari,
I have tested on my local environment and can reproduce the issue, as
Vaishu00547 mentioned that the issue can be caused by the Execution Account you have configured in the Reporting Services Configuration Manager is not correct, Please update the Username and Password and restart the reporting services.
Please also find more details information about when to use the execution account, if possible,please also not specify this account:
This account is used under special circumstances when other sources of credentials are not available:
When the report server connects to a data source that does not require credentials. Examples of data sources that might not require credentials include XML documents and some client-side database applications.
When the report server connects to another server to retrieve external image files or other resources that are referenced in a report.
Execution Account (SSRS Native Mode)
If you still have any problem, please feel free to ask.
Regards
Vicky Liu
Vicky Liu
TechNet Community Support -
Report server run problem (urgent plz)
i am using developer9i, xp opereting system but i am not able to run report server . infact i dont know where report server reside and how configure report server. otn discussion forum gave me below instructions but i need step by step detail to run report server.
pls help me.
i want to see (Please reffer to Note:204538.1 on
Metalink ) but i could not access metalink.
registration does not alow me. i have no country on
country list and no Support Identifier (CSI, SAC,
Access Code etc.) . but i need access.
please help me. access with path
thanks
mostafizDear see this information this is metalink information
Note:204538.1
Subject: Common Reasons & Troubleshooting: "Unable to communicate with the Reports Server"
Type: BULLETIN
Status: PUBLISHED
Content Type: TEXT/X-HTML
Creation Date: 22-JUL-2002
Last Revision Date: 08-MAR-2005
PURPOSE
========
The main purpose of this document is to list the known causes of the "Unable to
communicate with the Reports Server" error. The terms Reports Server, CGI,
Reports Servlet are also described briefly for a better explanation of this error scenario.
This document includes the following sections :
I. Brief summary on the architecture of Reports Server, CGI and Reports
Servlet
II. Sources of errors encountered when running a report with Reports Server
III. How the CGI (or the Reports Servlet) communicates with the Reports
Server
IV. Possible reasons which lead to "Unable to communicate with the Reports
Server" error.
1) Reports Server is up and running
2) tnsnames.ora and sqlnet.ora problems
3) Effect of parameter "ORACLE_HOME"
4) Effect of parameter "maxconnect"
5) Passing very large parameters to reports server
6) A case specific to OAS 4.0.8.2
7) A case specific to WEBDB version 2.1.0.9.3
V. References
I. Brief summary on the architecture of Reports Server, CGI and Reports Servlet
=================================================================================
In order to understand the causes of the error "Unable to communicate with the
Reports Server", let's first briefly review the Reports Runtime Engines, Reports
Server, the Reports CGI, and Reports Servlet architecture.
There are 4 important layers in Reports Server architecture which should be
understood in order to clearly understand the error "Unable to communicate with
the Reports Server" :
1) The Runtime Engines : This is the main layer where the reports are actually
executed. On unix systems there are "rwrun60" and on NT systems there are
"rwrun60.exe" processes.
2) The Reports Server : The Reports Server recieves the job request and queues
it. When one of its runtime engines becomes available, it sends the
command line to that runtime engine for execution. On Unix systems it is
the "rwmts60" executable and on NT systems it is "rwmts60.exe".
3) The Reports CGI : The Reports Web CGI passes the request to the Reports Server.
The Reports CGI or Servlet converts the request to a command line that can be executed by the Reports Server and
submits it to the specified Reports Server. On Unix platforms this executable
is "rwcgi60" and on NTs it is "rwcgi60.exe.
4) The Reports Servlet : Its functionality and function is just the same as "Reports CGI", but it is
a program written in Java as difference to the CGI program (which is
written in C programming language).
The Reports Server may be running on the same server with the CGI program (or
servlet) OR may reside totally on another machine which does not necessarily have
the same Operating System. For instance CGI may reside in a Windows NT machine
while the Reports server may reside on a Unix box, or any other combination with
Unix-Linux-NT-2000, etc.
The reports are called with a URL similar to below with the CGI :
http://fully.qualified.server.name:PORT/dev60cgi/rwcgi60.exe?server=<REPSERVER>&other_parameters=...........
where fully.qualified.server.name is the name of the server where the Reports CGI
reside, and <REPSERVER> is the name of the server.
II. Sources of errors encountered when running a report with Reports Server
============================================================================
The Reports Web CGI (or the Reports Servlet) makes a call to the Reports Server
and asks it to place the output into some destination (defined by DESTYPE and
DESNAME parameters), then gives back the necessary response to the calling
program. For example if the DESTYPE is "cache", then the Reports server generates
the report to a file in a temporary place and gives it back to CGI and the CGI gives
it back to the calling program. Otherwise, if the DESTYPE is "file", the Reports Server
generates the report output to the requested file and the CGI replies back the
following message : "Report output was successfully written to requested
destination.".
If there is any error in this process, the related error message is returned. The
possible sources of errors can be categorized as follows :
1) The errors that are returned from Reports Server; like the Reports Server can
not find the requested RDF file or the report may be run to file and the
directory where the reports output is asked to be placed does not occur or
similar errors. (Usually the REP-XXXX errors)
2) Another possible cause of error is the errors returned by the RDBMS to the
Reports Server, for example a table not found error or things like that. Of
course from the CGI point of view these errors are again transmitted from the
Reports Server but in fact the error originates from the RDBMS. (Usually the
ORA-XXXX errors)
3) Another possible cause of errors is the CGI itself, for example when the CGI
executable can not connect to the requested Reports Server, then we get the
famous "Unable to communicate with the Reports Server". In this document we will
diagnose the common reasons of this last error.
III. How the CGI (or the Reports Servlet) communicates with the Reports Server
===============================================================================
Having said that "Oracle Reports Server CGI - Unable to communicate with the
Reports Server." error is returned back from the CGI itself, let's discuss the
issue of how the Reports CGI connect to the Reports Server. The name of the
Reports Server given in the URL with "server=....." parameter is, in fact, just
a special tnsnames alias, similar to aliases for database connect strings. As it is
important for the CGI to resolve the alias, the CGI needs to know the HOST name (or the
IP) of the machine where the Reports Server is running and the port on which the
Reports Server is listening. So a typical Reports Server alias is defined as follows :
REP60_<MACHINE>=(ADDRESS = (PROTOCOL = tcp)(HOST = <MACHINE>)(PORT = <PORT>))
This is defined in tnsnames.ora file, and the sqlnet.ora file is also used in
the name resolving operation.
IV. Possible reasons which lead to "Unable to communicate with the Reports Server" error.
==========================================================================================
The possible reasons for the "Unable to communicate with the Reports Server" error :
1) Reports Server is up and running :
Make sure that the Reports Server is really running on the specified server
and listening on the specified port. For details have a look at above
explanations for tnsnames alias of the reports server. And because of this the
CGI could not establish a connection to the Reports Server.
2) tnsnames.ora and sqlnet.ora problems :
As described above, the CGI resolves the details for the reports server using
the "tnsnames.ora" and "sqlnet.ora" files. There may be a problem with them,
here are the possible configuration problems :
a) There is no alias in the tnsnames.ora file for this Reports Server
b) The CGI looks into the wrong directory for the "tnsnames.ora" and "sqlnet.ora"
files. By default the CGI checks the $ORACLE_HOME/net80/admin directory for
these scripts, where the $ORACLE_HOME is the home of the Forms & Reports
installation. Please note that in a typical 9iAS 1.0.X installation there
are two ORACLE_HOME's, one is for the iAS and the other is for the tools,
usually the home for the tools is a directory with name "806" on NT and
"6iserver" on unix systems. By defining TNS_ADMIN in the environment, one
can override the search path for these two files.
The TNS_ADMIN variable can be defined in one of the following places :
i) In the environment : On MS Windows platforms check the "Settings
--> Control Panel --> System". On NTs check the environment TAB and in
Win2K systems check the "Environment Variables" button on Advanced tab.
ii) In "6iserver.conf" file. Details are as follows : The main configuration
file for Apache server is "httpd.conf" file which resides in
$IAS_HOME/Apache/Apache/conf directory. In this file there is a line to
include "oracle_apache.conf" and in this "oracle_apache.conf" file
there is a line to include "$ORACLE_HOME/conf/6iserver.conf" file. And
in this file the TNS_ADMIN variable could be defined as follows :
SetEnvIf Request_URI "rwcgi60" TNS_ADMIN=c:\orant\network\ADMIN
Please note that by defining it this way, the TNS_ADMIN will only be defined
for "rwcgi60" calls, so the other parts of the 9iAS will not be affected by
this setting.
c) In sqlnet.ora the "names.default_domain" is set but in tnsnames.ora the
domain is not defined in the alias description. For example if the
"names.default_domain=world" is present and active in "sqlnet.ora" file
then in the "tnsnames.ora" the alias of the reports server should also have
the ".world" extension appended at the end. And another cause is of course
the vice versa for this. If there is no "names.default_domain" is defined
in the "sqlnet.ora" then the alias in "tnsnames.ora" should not have the
domain extension.
Another important point that should be checked is, if TNS_ADMIN is defined
as described above then the search path is as follows, first the directory
defined by TNS_ADMIN is searched, if the "tnsnames.ora" file is not found in
this directory then $ORACLE_HOME/net80/admin is checked. (And on unix systems
/var/opt/oracle is also checked). These directories are only checked if the file
is not present, so if the "tnsnames.ora" file is present in TNS_ADMIN directory
but the alias is not present, then the other directories are not checked at all.
Let us assume that the tnsnames.ora file is present in the TNS_ADMIN directory but
there is no "sqlnet.ora" files here, then the sqlnet.ora file is checked in
$ORACLE_HOME/net80/admin directory, which could cause the same problem if the
"names.default_domain" is defined in this file.
All the above will result in, CGI to unable to resolve the alias in tnsnames.ora
file so it will not be able to establish a connection to the Reports Server.
3) Wrong "ORACLE_HOME" setting :
Wrong ORACLE_HOME setting. This is usually the case for Reports Servlet,
because the environment settings are defined in "jserv.properties" file for the
servlets and the setting here will effect both the Reports Servlet and the
setting for Oracle JSP and other servlets. So the other servlets or Oracle JSP
may need to set ORACLE_HOME to home of HTTP server while the reports server needs
it to be set to the TOOLS_HOME directory. In this case the best alternative is
not to set ORACLE_HOME in this directory and leave it to registry or defined the
ORACLE_HOME in "6iserver.conf" file just like the TNS_ADMIN defined above. For
details please have a look at the following document :
Note 179609.1 "Getting an error Unable to communicate with the Reports Server
using RWSERVLET"
4) Effect of parameter "maxconnect" :
Another common case for this error is that the CGI request reaches the Reports Server but
the Reports Server refuses connection. The main cause for this case is, that the Reports Server
configuration parameter "maxconnect" is defined too low, there are long running reports on the
server or the server is too busy at that time. Usually a second try some
later time results in a successful connection. If this is the case, the end user
may think that the problem is occasional. For details on this case please
have a look at the following document :
Note 125265.1 "Unable to communicate with the Reports Server"
5) Passing very large parameters to reports server :
Another known reason for this error is, if you are passing large parameters
to the Reports Server which exceeds sqlnet transmission blocks then the request may
end up with this error. To test it try with small parameter values. If you hit
this case, the solution is to increase the SDU (Session data unit size) and the TDU
(Transport unit data size) parameters in tnsnames.ora file, for details please
have a look at the following document :
Note 197358.1 "Passing large parameters to Reports show up a Reports Server
error"
6) A case specific to OAS 4.0.8.2 :
If you are using OAS instead of iAS, and the error appeared after
upgrading to 4.0.8.2 then this is caused because the 4.0.8.2 is using RSF
(Required Support Files) version 8.1.6 and the Reports 6i is using 8.0.6 and the
two could not reside in the same ORACLE_HOME directory. So the solution for this
problem is to create a new batch file and use it from which the actual CGI
executable is called. For details please see the following document :
Note 116754.1 "After applying OAS 4.0.8.2 CGI and Cartridge cannot communicate
to report server"
7) A case specific to WEBDB version 2.1.0.9.3 :
Another known case for this error is with WEBDB version 2.1.0.9.3 or less.
If you are using these old versions of WEBDB as HTTP listener, please have a
look at the following document :
Note 95426.1 "URL Not Found When Calling Oracle Developer Report from WebDB Site"On Windows you can create a Report Services:
rwserver -install server=repserverYou have to choose different names for all servers, like your collegue cannot create a server with the same name. You can start/stop this Report server in Services (control panel). Configuration files can be found under $ORACLE_HOME/reports/conf
Martin
Maybe you are looking for
-
Error message too big to fit onto screen and I can't scroll down
I have compiled an email with a lot of addresses cc'd in it and the mail programme is bringing up an error message when I try to send it. The trouble is that the error message is so long that I can't see the end of it and it won't scroll down so I ca
-
How do i get connected to my earpiece set please
how do i connect my i phone 4 to rhe earpiece please cant find anywhere thanks in advance
-
The Strange Case of the Disappearing Site
It's one thing after another all of a sudden. I've just opened iWeb on my desktop and found that the entire site is no longer there. This happened once before, a few months ago, and (following excellent advice on this discussion board) I clicked Spot
-
Installing photoshop elements on imac with no disc drive
I purchased Adobe Photoshop elements 9 a year or so ago. I still have the installation disc and all the packaging that came with it. Unfortunately my imac crashed and I had to purchase a new imac. I would like to install this program on my new com
-
CATT upload done in dev server, want to transport to QA / PRD
Hi Experts, CATT upload is created in development server. I want to upload data in quality for testing and finally upload in production server. Should I transport CATT or it can be run by using RFC. Please advise. Regards, Irfan