Query and bind variable display in reports
I have created a reports portlet using the locally built providers facility with the create a new reports. It seems to work fine except that the sql query and the bind variables show up in the report along with the report itself. How do I keep these from showing up?? I am on Portal 9.04
Ken Rubesh
ON the Page displayoptions tab, you can select "Show Query Conditions?..
is that unselected?
if you are talking about the fields from your select statement showing up in the body of the report, you can set the field type to hidden on the 2nd tab(column formatting).
hope this helps
Similar Messages
-
How to add '%' to a query with bind variables
Hi,
I am using oracle jdeveloper 11g.
I am trying to create a table to display rows using the below query in a jspx page,
select * from ade_txns where series='WORKPLACE_PT.11.1.1.8.0_GENERIC' and transaction like 'rkumara%'
I am using a view with query and binding variables as below,
select * from ade_txns where series= :p_series and transaction like :p_QAEngineer
I will be passing p_QAEngineer using binding variable using 'ExecuteWithParams' using a dropdown(eg: 'rkumara'). But I need to add a '%' to this value as I am using a 'LIKE' clause in my query.
I tried using,
select * from ade_txns where series= :p_series and transaction like :p_QAEngineer+'%'
But this is not working for me.
Can someone please tell me how i can solve this.
Thanks,
Ranjeetdoes this help also?
How to add regular expression in viewobject bind variables
~Abhijit -
Query regarding bind variables and LOVs
HI,
I am new to ADF.Last day I learnt about LOVS,View Criteria and bind variables.Now, I was trying to develop a sample application.I created some EOs,VOs and an AM.
I also defined a view criteria which takes a bind variable as parameter and resolves the condition at runtime.Then I created a query panel based on my view criteria.In that Query Panel,when I enter a student's name in an input box(which is bound to the bind variable I guess), the info about the student is displayed in a table.Now, instead of an input box, I want a choice list based on a model driven LOV which will contain all the student names available.Is it possible in ADF 11g?
Thanks in advanceYou need to open the VO , you are using , go to the Overview section and in overview section go to the Attributes section.
In attributes section select the attribute by which you are searching or doing your operation, click the add button of List of values: Attribute name
Select the vo object to populate the value.
You will get the data in bind variable you have created in view criteria.
For detailed reference you can follow the bolg
http://saumoinak.blogspot.com/2011/02/showing-data-based-on-list-of-values.html -
Selection Variables display in report output using BEX ANALYSER 7.0
HI All,
I am using BEX Analyzer 7.0 , I want to display the Variables selected in the selection screen, to be printed in the
Report Output.when i execute the same query in 3.5 , i am getting all hard coded and selected variable values in report output.
But in 7.0 analyzer i am not getting any filter values.can i know the reason for this ? do i need to do any settings ? how to display all filter values in report output.
Thanks and Regards,
JosephHi Joseph,
I feel there might be personalization of variables.
After executing the query click on "Change Variable Values" which is on Bex Tool Bar and there click on personaliztion icon and check if any personalizations are there.
Regards
Ravi -
Variables display in report output in BEX Analyser 7.0
HI All,
I am using BEX Analyzer 7.0 , I want to display the Variables selected in the selection screen, to be printed in the
Report Output.when i execute the same query in 3.5 , i am getting all hard coded and selected variable values in report output.
But in 7.0 analyzer i am not getting any filter values.can i know the reason for this ? do i need to do any settings ? how to display all filter values in report output.
Thanks and Regards,
JosephHello Joseph,
Please check where did you kept the restriction in the filter is it in the defalut values or it is in the characteristic restrictions. If the values are in the characteristic restricion it won't display . The values need to restricted in the default option.
Thanks,
Geeta -
Query with bind variable, how can use it in managed bean ?
Hi
I create query with bind variable (BindControlTextValue), this query return description of value that i set in BindControlTextValue variable, how can i use this query in managed bean? I need to set this value in String parameter in managed bean.
ThanksPut the query in a VO and execute it the usual way.
If you need to, you can write a parameterized method in VOImpl that executes the VO query with the parameter and then call that method from the UI (as a methodAction binding) either through the managed bean or via a direct button click on the page. -
SQL query with Bind variable with slower execution plan
I have a 'normal' sql select-insert statement (not using bind variable) and it yields the following execution plan:-
Execution Plan
0 INSERT STATEMENT Optimizer=CHOOSE (Cost=7 Card=1 Bytes=148)
1 0 HASH JOIN (Cost=7 Card=1 Bytes=148)
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'TABLEA' (Cost=4 Card=1 Bytes=100)
3 2 INDEX (RANGE SCAN) OF 'TABLEA_IDX_2' (NON-UNIQUE) (Cost=3 Card=1)
4 1 INDEX (FAST FULL SCAN) OF 'TABLEB_IDX_003' (NON-UNIQUE)
(Cost=2 Card=135 Bytes=6480)
Statistics
0 recursive calls
18 db block gets
15558 consistent gets
47 physical reads
9896 redo size
423 bytes sent via SQL*Net to client
1095 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
55 rows processed
I have the same query but instead running using bind variable (I test it with both oracle form and SQL*plus), it takes considerably longer with a different execution plan:-
Execution Plan
0 INSERT STATEMENT Optimizer=CHOOSE (Cost=407 Card=1 Bytes=148)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TABLEA' (Cost=3 Card=1 Bytes=100)
2 1 NESTED LOOPS (Cost=407 Card=1 Bytes=148)
3 2 INDEX (FAST FULL SCAN) OF TABLEB_IDX_003' (NON-UNIQUE) (Cost=2 Card=135 Bytes=6480)
4 2 INDEX (RANGE SCAN) OF 'TABLEA_IDX_2' (NON-UNIQUE) (Cost=2 Card=1)
Statistics
0 recursive calls
12 db block gets
3003199 consistent gets
54 physical reads
9448 redo size
423 bytes sent via SQL*Net to client
1258 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
55 rows processed
TABLEA has around 3million record while TABLEB has 300 records. Is there anyway I can improve the speed of the sql query with bind variable? I have DBA Access to the database
Regards
IvanMany thanks for your reply.
I have run the statistic already for the both tableA and tableB as well all the indexes associated with both table (using dbms_stats, I am on 9i db ) but not the indexed columns.
for table I use:-
begin
dbms_stats.gather_table_stats(ownname=> 'IVAN', tabname=> 'TABLEA', partname=> NULL);
end;
for index I use:-
begin
dbms_stats.gather_index_stats(ownname=> 'IVAN', indname=> 'TABLEB_IDX_003', partname=> NULL);
end;
Is it possible to show me a sample of how to collect statisc for INDEX columns stats?
regards
Ivan -
How to pass bind variable into oracle reports 6i - Parameter form
Hello All,
I want to pass bind variable into Oracle Reports 6I - Parameters.
I have tried out that but got the below error :-
rep-0781 : Bind variables are not allowed in the select statement
Kindly help me is there any option which allow me to pass bind variables into Oracle reports 6I.
Thanks
HARSH SHAHHi,
may be its not possible to use :P_PARAM1 in user parameter of oracle 6i reports
but u can full fill user requirement using oracle forms
create a form as like as report parameter window
then create parameter list and run report
PROCEDURE Run_Emp_Report IS
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
Run_Product(REPORTS, 'empreport', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
END;
thanks
mostafiz mitul
Dhaka Bangladesh -
Lexical and bind variables in RUN_PRODUCT
Hi all,
I have the following RUN_PRODUCT but it gives me "bad bind variable:
DECLARE
pl_id ParamList;
BEGIN
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'CATEGORY',TEXT_PARAMETER,(:CATEGORY));
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
Add_Parameter(pl_id, 'DESTYPE', TEXT_PARAMETER, 'Screen');
Run_Product(REPORTS, 'C:\Pled', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
Destroy_Parameter_List( pl_id );
END;
How can I define both lexical and bind variables in a RUN_PRODUCT. Please assist!Hello Nicky,
The correct way to call Reports from Forms in 6i using the RUN_PRODUCT built-in using bind parameters would be something like the code given below. This example assumes that you have a form module parameter and a report parameter called 'category'.
declare
pl_id paramlist;
begin
pl_id := create_parameter_list('tmpdata');
add_parameter(pl_id, 'category', text_parameter, :parameter.category);
add_parameter(pl_id, 'paramform', text_parameter, 'no');
add_parameter(pl_id, 'destype', text_parameter, 'screen');
run_product(reports, 'c:\test_report.rdf', synchronous, runtime, filesystem, pl_id, null);
destroy_parameter_list( pl_id );
end;
Thanks,
The Oracle Reports Team. -
PreparedStatement and bind variable
We are experiencing some werid performance break downs where database server looks healthy and our java applications are down to their knees.
I was wondering if someone could help me clarify the comparison between PreparedStatement and bind variable. When I execute a PreparedStatement in java through the JDBC thin driver, would the database consider it a dynamic SQL or is it a SQL using bind variable? If this same statement is executed 100000 times, is it parsed 100000 times? We are using JDK131. How does it work?
Is there any memory leak in PreparedStatement implementation in JDBC thin driver? Is there any known symptom to this problem? What is the recommended solution?
Thank you very much!If PreparedStatement is parsed and cached, why is there setting to set implicit statement caching and explicit statement caching? Our DBA insists that it is parsed every single time. How would I find out for sure?
The SQLs have not been changed. This sudden performance degradation started when a new client went live and we experienced higher than usual volumn. We are connecting using JDBC thin client from weblogic server to Oracle 8.1.7. It's been happening everyday since the client went live and the only way to get the performance back is to shutdown and restart the database server.
I tried to search JDBC related issues. The only complain that I've found so far is that there may be some potential memory leak for a PreparedStatement. However, I have not found anything from Oracle's website that concurs to that.
What is my best bet? -
Hi,
I have a procedure which takes the deptno as parameter and inserts that departments records from emp table to new table.
This code doesnt exist in a real system.I was trying to understand the benefit of bind variable.i wrote it in different ways as below
Create table emp3 as select * from emp where 1=2;
create or replace procedure test1 (p_deptno in number)as
begin
execute immediate 'insert into emp3
select *
from emp
where deptno=:1'
using p_deptno;
end;The above code works fine.i wrote the following way too.
create or replace procedure test2 (p_deptno in number)as
begin
insert into emp3
select *
from emp
where deptno=p_deptno;
end;do the first one has any performance benefit over second one which is the right way to do in a real world system?
.I couldn't do a performace comparison as i dont have access to an oracle instance currently and did this in SQL workshop that comes with Apex.My apologies for this..
Regards,
CKLP
Edited by: CKLP on Aug 29, 2011 3:21 AMCKLP wrote:
do the first one has any performance benefit over second one which is the right way to do in a real world system?Not really. Remember that all parsed SQLs winds up as cursors in the database's Shared Pool.
If a cursor already exists for a SQL statement, that SQL will re-use that existing cursor (soft parse). So from a SQL engine perspective, there is no different between the two methods. Both these statements will btw generate the same SQL cursor - the basic SQL code and bind variable positions are identical.
From a PL/SQL perspective there is a huge difference.
The first option can be a tad slower. Why? It it uses the execute immediate interface that is not as optimised as the implicit cursor interface of PL/SQL. You're using a "heavier" SQL interface in PL/SQL that results in more work for the PL/SQL engine.
The second option is compiled as an implicit cursor. The SQL code is known, checked and verified, and the compiled PL/SQL code deals with a known SQL statement. Unlike the first option.
The second option also means that your code will not fail (due to SQL syntax errors, etc) at run-time. If that static SQL statement in your code becomes invalid (due to a table being dropped, column used removed, etc), then your code becomes invalid. With the first option, the code will remain valid - and when it is executed it will throw an exception that the (dynamic) SQL cannot be parsed and is invalid.
The first option also introduces the spectre of SQL injection. Let's say there is a means to cause a buffer overflow exploit in the database call that executes that procedure. As the SQL itself is a string, it makes for an easy attack vector as the overflow only needs string data to inject executable code - as oppose to p-code or machine code. (an unlikely scenario, but the basic security principle still holds true)
Dynamic SQL is not needed 99% of the time in PL/SQL. And 99% of the time, using dynamic SQL is done for the wrong reasons, or ignorance, or both. -
Report Query with Bind variables working very slowly
Hi everyone,
I'm having a hard time with one of my Reports.
Basically the query looks like this:
Select *
from x,y,z
where x.lang_id = :P1_LANG
and y.name = :P1_LANG;
I have a textfield and a Select List on my Page which have to have a value before the report is shown.
Now to the problem, when I input a value into these Application Items the Report takes ages (3-5 min). But when I replace the Bind variables (:P1_LANG and :P1_LANG) with the actual values it takes mere seconds.
Anyone got an idea why this might be?
I'm at my wits end -.-
Edited by: DocD on Oct 27, 2009 3:01 AMHi
This could be for a number of reasons and unfortunately there is no quick answer...
When you run a query for the first time, the execution plan is worked out by the Cost Based Optimiser (I'm assuming you're using 10g or above here). This is referred to as a hard parse. Next time the same SQL text is used then the execution plan may still be in the shared pool - in this case the same execution plan is used rather than being calculated again.
The great thing about using bind variables is that even with different inputs, the SQL text is the same so the execution plan can be shared for different inputs. One downside is that if the first time the query is executed using bind variables, out of the ordinary values are input, bind variable peeking can lead to a sub optimal execution plan being calculated for the query and then shared in other situations (where more 'normal' values are input).
However, it could be down to a host of other things too. So your first check is to make sure that you have executed both queries a number of times. If you are still getting the same performance issues then plan post the full query, table creation scripts and execution plan for both querys.
Cheers
Ben -
Report query with bind variable
Trying to create a report query for xsl-fo print. For output format I pick "derive from item" then pick the item name from the list, on the next screen, I paste the query with the bind variable. on the next step test query, I always get "data not found" regardless what value I type in. This is the same query that I ran under sql commands without any issues.
Does anyone run into the same issue as I have when attempted to create a query with bind var ? There is no problem creating a query without bind varibles. . thanks.
MunsharHi, please did you get any solution to this issue? I am having similar challenge right now.
select EMP.DEPTNO as DEPTNO,
DEPT.DNAME as DNAME,
EMP.EMPNO as EMPNO,
EMP.ENAME as ENAME,
EMP.JOB as JOB,
EMP.MGR as MGR,
EMP.HIREDATE as HIREDATE,
EMP.SAL as SAL
from SCOTT.DEPT DEPT,
SCOTT.EMP EMP
where EMP.DEPTNO=DEPT.DEPTNO
and DEPT.DNAME =upper(:dname)
This run perfectly in sql developer, toad, and even inside publisher if I login directly to publisher to create report.
Generating this same query in shared component query builder and testing it returns no data found. If I remove the last line, it works. but with the last line, it return no data found. It seems no one has been able to provide solution to this issue -
Report queries and bind variables - only header printing to PDF
Hi,
I created a simple report query for printing to PDF with 2 bind variables. I created a link to this report like this
Print - the header information prints but none of the data.
What am i doing wrong? I'm pretty sure it has s/t to do with the bind variables.
IF a/o can please help, i'd really appreciate it.
Thanks,
Hindyis it possible to export your application page to apex server and you shall also create a userid as demo/demo and post the url so that we shall try the debug
-
Child reports and bind variables
I'm working on a user defined parent/child report. What I'm having an issue with is using a parents bind variable value in a child. To simpify my example:
The master query is:
select count(*), document
from download_audit
where activity_date > sysdate-:DAYS
group by document
which returns a count of downloads for each document in the last :DAYS days. I want the child report to then list the person that downloaded a selected document:
select document, user_id, activity_date from download_audit
where activity_date > sysdate - :DAYS
and document=:DOCUMENT
This does not work because the initial :DAYS bind isn't sent to the child.
If I add the :DAYS as a selected column to the master sql it works. e.g.
select count(*), document, :DAYS days
from download_audit
where activity_date > sysdate-:DAYS
group by document
My question is, do child bind variables all have to be selected columns in the master query or is there a way to have a "global" bind variable that gets carried from master to child?
I'm using SQL Developer 3.2.20.09 on OS X Lion
Edited by: RoboMan on Nov 16, 2012 11:23 AMI agree whole heartedly :)
If you want to make things even more interesting, create some 3rd generation child reports and carry the bind variables throughout the multiple levels - here's an example
http://www.thatjeffsmith.com/archive/2012/09/grandparent-parent-child-reports-in-sql-developer/
Maybe you are looking for
-
Urgent: Parameter problem for jsp
Following jsp when run with portal 9.0.2 displays value of Name and Age but value of Telephone parameter is displayed as Null. Can anybody tell me the reason? Running this jsp on IBM WebSphere. <%@ page contentType="text/html;charset=UTF-8" %> <%@pag
-
Open second form at run-time (and transfer variables)
Hi, i'm searching for a method to open a second (maybe attached) form from an existing form at run-time. The goal would be to have a button in a form which runs a function as click event that opens the second form and transfer field values from the e
-
DB_Connect Error connecting to SqlServer
We have a BI Netweaver 7.0 system running on Itanium with an Oracle Database. Using tcode RSA1 I wanted to create a remote connect to a SqlServer database. The DBMS type is MSS. The error message we are getting is "No shared library found for the dat
-
Why can't I connect to the iTunes store to update my apps anymore?
-
I have subscribed to Adobe Create PDF Basic. Can I reorder pages from different files before combining them?