Tracking SQL statements executed
Hi,
After obtaining a connection to my Oracle 10g database using JDBC, I would like to know if there is a way to track all SQL statements executed since the connection was made.
This must be pretty easy, I'm just stumped.
Thank you
Tom
Hi, and it's not that easy. The driver certainly doesn't
keep track of what's been done, but look at the documentation
regarding the logging the driver can be configured to do. It can
print out everything it does, so some level of detail and degree,
and that can be collected in a file and examined externally.
That can be voluminous too... It might be more (or just as)
practical to examine the DBMS-side session-auditing/logging
features the DBMS may have to collect everything the session
has done.
HTH,
Joe Weinstein at BEA Systems
Similar Messages
-
Look for histroy of sql statement executed in database
is there a way to look for histroy or list of sql statement executed in database.?
similar to history command in linux or bash shell.The newer <a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/dynviews_2131.htm">v$sqlstats</a> (10g) is recommended over v$sql as (according to the documentation) it's "faster, more scalable, and has a greater data retention (the statistics may still appear in this view, even after the cursor has been aged out of the shared pool)", although it's missing a couple of the columns v$sql has.
The history version (if you are licenced for AWR, which is part of the extra-cost Diagnostics Pack - you may not be licenced to use it even if the dictionary views are installed) is DBA_HIST_SQLSTAT. -
Log for all the sql statement executed
Hi,
I would like to know how to see the log for all the sql statement executed starting from connection to all the database related actions.
Is it something that i need to set it up in the driver?
I'm using Tomcat and JDBC driver.
Please reply.
Thanks,
AnjanaMake your own.
Calendar cal = new GregorianCalendar();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DAY_OF_MONTH);
//use calendar object to get other infos such as time of query
//append your query string
File f =new File ("c:\\jakarta-tomcat-3.2.4\\webapps\\ASD\\LOGS\\log" + df.format(day) + df.format(month) + year + ".txt");
if (! f.exists())
f.createNewFile();
FileWriter fw = new FileWriter (f, true);
// append new log to end of file
fw.write(buf.toString());
fw.write("\n");
fw.flush();
fw.close();
catch (IOException ioe)
System.out.println(ioe.toString()); -
Hi All
HOw oracle SQL statements executes ? Can anyone explain me for SELECT, INSERT,UPDATE and COMMIT statements works ?
Regards
KrishnaKrishna,
Search for SQL Statement Execution and see the Flow Chart.
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14220/sqlplsql.htm
-Anantha -
One SQL Statement executed abnormally in Oracle10g Database
One programmer sent the following SQL to me, and ask why no result was returned. I knew that the SQL Statement was not good in writting and designing.
So, first we don't focus on it. we only focus on why no result was returned.
SELECT 'other Accts', 'Other Accts', TO_NUMBER(''),TO_DATE('2010-10-9', 'yyyy-MM-dd')
FROM dual
WHERE *0 = (SELECT COUNT(*)*
FROM (SELECT 'other Accts', 'Other Accts',SUM(a.qty_invoiced), a.sell_week_date
FROM sales_in_oracle_data a
WHERE NOT EXISTS
(SELECT pa.partner_number
FROM partner pa
WHERE pa.partner_number = a.customer_number)
AND a.sell_week_date >=TO_DATE('2010-10-9', 'yyyy-MM-dd')
AND a.sell_week_date <=TO_DATE('2011-1-1', 'yyyy-MM-dd')
AND a.qty_invoiced >= 0
AND EXISTS
(SELECT pp.product_id
FROM product_pn pp, product p
WHERE pp.magellan_pn = a.material
AND pp.product_id = p.product_id )
GROUP BY a.sell_week_date
the SQL sub Statement:
SELECT COUNT(*)*
FROM (SELECT 'other Accts', 'Other Accts',SUM(a.qty_invoiced), a.sell_week_date
FROM sales_in_oracle_data a
WHERE NOT EXISTS
(SELECT pa.partner_number
FROM partner pa
WHERE pa.partner_number = a.customer_number)
AND a.sell_week_date >=TO_DATE('2010-10-9', 'yyyy-MM-dd')
AND a.sell_week_date <=TO_DATE('2011-1-1', 'yyyy-MM-dd')
AND a.qty_invoiced >= 0
AND EXISTS
(SELECT pp.product_id
FROM product_pn pp, product p
WHERE pp.magellan_pn = a.material
AND pp.product_id = p.product_id )
GROUP BY a.sell_week_date
it returned 0 truely. But the entire SQL didn't return any data.
why can it execute like above description? I guess that it maybe go against oracle basic rule.
Any one give me some suggestion?
Edited by: [email protected] on 2010/7/19 下午 6:09I managed to track down a 10.2.0.4 instance and can confirm that this statement does not return the correct results.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select *
2 from dual
3 where 0 = (select count(*)
4 from (select dummy, sum(1)
5 from dual
6 where dummy = 'z'
7 group by dummy
8 )
9 );
no rows selected
SQL> explain plan for
2 select *
3 from dual
4 where 0 = (select count(*)
5 from (select dummy, sum(1)
6 from dual
7 where dummy = 'z'
8 group by dummy
9 )
10 );
Explained.
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2 | 4 (0)| 00:00:01 |
|* 1 | FILTER | | | | | |
| 2 | TABLE ACCESS FULL | DUAL | 1 | 2 | 2 (0)| 00:00:01 |
| 3 | SORT AGGREGATE | | 1 | 2 | | |
|* 4 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter( NOT EXISTS (SELECT /*+ */ 0 FROM "SYS"."DUAL" "DUAL"
WHERE "DUMMY"='z'))
4 - filter("DUMMY"='z')
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> select *
2 from dual
3 where 0 = (select count(*)
4 from (select dummy, sum(1)
5 from dual
6 where dummy = 'z'
7 group by dummy
8 )
9 );
D
X
SQL> explain plan for
2 select *
3 from dual
4 where 0 = (select count(*)
5 from (select dummy, sum(1)
6 from dual
7 where dummy = 'z'
8 group by dummy
9 )
10 );
Explained.
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2 | 6 (0)| 00:00:01 |
|* 1 | FILTER | | | | | |
| 2 | TABLE ACCESS FULL| DUAL | 1 | 2 | 3 (0)| 00:00:01 |
|* 3 | TABLE ACCESS FULL| DUAL | 1 | 2 | 3 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter( NOT EXISTS (SELECT 0 FROM "SYS"."DUAL" "DUAL" WHERE
"DUMMY"='z'))
3 - filter("DUMMY"='z')
17 rows selected.Notice that the explain plan is a bit different compared to the 11.2.0.1 release. My guess is that the optimizer is doing something weird. -
How to trace the SQL statements executed in a database
I am using Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production on a sun server and I am not familiar with Oracle but with MS SQL there is a tool called profiler, it allows you to monitor and see what is going on in a specific databases whether it is SQL statement executins or anything else. I have installed the oracle enterpise manager console at my windows client and I tried to look for a tool similar to the profiler in the MS SQL. I tried the TRACE DATA VIEWER and I inputed the login credentials but I don' t actually know the service name and I am getting an error ORA-12514 The TSN listener can not resolve the service name given in the connect descriptor. Therefore, am I on the right road so i have to look for the service name or are there any other ways i can trace the currently executing SQL statement in a specific database. I am really stuck there. I would appreciate if somebody help me out. Thanks
Abdel MoalimAbdel Moalim wrote:
I am using Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production on a sun server and I am not familiar with Oracle but with MS SQL there is a tool called profiler, it allows you to monitor and see what is going on in a specific databases whether it is SQL statement executins or anything else. I have installed the oracle enterpise manager console at my windows client and I tried to look for a tool similar to the profiler in the MS SQL. I tried the TRACE DATA VIEWER and I inputed the login credentials but I don' t actually know the service name and I am getting an error ORA-12514 The TSN listener can not resolve the service name given in the connect descriptor. Therefore, am I on the right road so i have to look for the service name or are there any other ways i can trace the currently executing SQL statement in a specific database. I am really stuck there. I would appreciate if somebody help me out. Thanks
Abdel MoalimHi
I see others have answered the network connectivity issues, I'll try and address the tracing issue. Your best bet is to review http://www.petefinnigan.com/ramblings/how_to_set_trace.htm for the many ways in which a sessions SQL and indeed other activity can be traced. In version 7 (which I'm guessing is yours from the sid) the only profiler available was tkprof (Trace Kernel Profiler) which will do a good job of analysing your trace file. The trace files themselves are generated on the server in a protected directory so you may need to ask your dba for access to them. There are other profilers around now (I have one which runs in v9 and higher database at http://www.niall.litchfield.dial.pipex.com/SimpleProfiler/SimpleProfiler.html which will analyse your files for example) but tkprof is the start point - or else just reading the trace file in a text editor. There is also a utility written by the Oracle Apps guys trcanalyzer that will do a good job for you. In general the interface is poor compared with the ms utility but the information is deeper and more helpful
Niall Litchfield
http://www.orawin.info/ -
XmlAgg Order By in SQL Statement vs Stored Procedure - 9.2.0.3.0
Hi All,
I'm having a problem with the XMLAgg function's ORDER BY clause after upgrading to 9.2.0.3.0.
I'm finding that I can succesfully execute a SQL statement with the XMLAgg ORDER BY clause, but cannot compile a stored procedure using ORDER BY. Below are two examples executing against the SCOTT Schema. They use the same code, except one is contained in a procedure.
I'm running 9.2.0.3.0 on Windows XP Pro, SP1
Plain SQL Statement (executes correctly):
SELECT
XMLElement("test",
XMLAgg(
XMLElement("element",
XMLAttributes(Scott.Emp.Ename as "ename", Scott.Emp.Empno as "enum")
) --xmlElement element
ORDER BY Scott.Emp.Ename desc
) --XmlAgg
).getClobVal() --xmlElement test
as TestXML
from Scott.Emp;
Stored Procedure:
create or replace procedure zorder(TestXML OUT clob) is
begin
SELECT
XMLElement("test",
XMLAgg(
XMLElement("element",
XMLAttributes(Scott.Emp.Ename as "ename", Scott.Emp.Empno as "enum")
) --xmlElement element
ORDER BY Scott.Emp.Ename desc
) --XmlAgg
).getClobVal() --xmlElement test
into TestXML
from Scott.Emp;
end zorder;
I get the following errors when attempting to compile the stored procedure:
7 PLS-00306: wrong number of types or arguments in call to 'XMLAGG'
7 PL/SQL: ORA-00904: "XMLAGG": invalid identifier
5 PL/SQL: SQL Statement ignored
Does anybody know why this code executes correctly in a SQL statement, but fails in a procedure? Is the Order By clause not available in a procedure? I need to get this functionality working in the procedure.
Thanks,
BrianA good simple workaround (that doesn't require runtime parsing) is to simply sub-query:
SELECT
XMLElement("test",
    XMLAgg(
        XMLElement(
            "element",
            XMLAttributes(Scott.Emp.Ename as "ename", Scott.Emp.Empno as "enum")
        ) --xmlElement element
    ) --XmlAgg
).getClobVal() --xmlElement test
into TestXML
from (
    SELECT Ename,Empno
    FROM Scott.Emp
    ORDER BY Scott.Emp.Ename desc -
How to get the real SQL statement from a preparedstatement?
Hi,
I am trying to log the actual SQL sent to database by the preparedStatement. Since the original SQL I used to prepare the statement has a lot of "?" in it, after setting all the parameters in the preparedStatement, I want to get the final SQL statement executed. Is there a way to get it? Probably the SQL will depend on different drivers.
Thanks in advance.Thanks, changhsu. I tried the tracing technique. But it only prints out the original SQL statement sent to the preparedStatement. The following is part of the log file:
======================================================================
--------NetDirect JSQLConnect Version:2.2708--------
2002-04-10 14:23:54.818 (1) Connection attempt number 1 Connection ID:1 for host:perseus
2002-04-10 14:23:55.429 (1) JSQLConnect(2.2708) Trial license - expires on:Thu Apr 25 17:47:32 CDT 2002, unlimited connections
2002-04-10 14:23:55.449 (2) Connection allocated from pool ID:2
2002-04-10 14:23:55.72 (2) [Thread[Thread-6,5,main], IO:88cb4, Dbc:1346]] SELECT SHARED_DRIVES FROM EPM_PREFS WHERE PRODUCT='PE'
2002-04-10 14:23:57.913 (2) Connection closed and returned to connection pool ID:2
2002-04-10 14:23:58.193 (3) Connection attempt number 2 Connection ID:3 for host:perseus database:epm20 SQL6.5:false
2002-04-10 14:23:58.203 (3) [Thread[Thread-6,5,main], IO:88cb3, Dbc:1347]] use epm20 set quoted_identifier,ansi_null_dflt_on,ansi_padding on set textsize 2147483647 set transaction isolation level read committed set implicit_transactions off
2002-04-10 14:24:00.356 (4) Connection allocated from pool ID:4
2002-04-10 14:24:01.168 (4) [Not Loged In@localhost, IO:88cb2, Dbc:1347]] PreparedStatement::prepare stmt:SELECT PASSWD FROM RESOURCE_INFO WHERE USER_ID=? AND DELETE_FLG IS NULL
2002-04-10 14:24:01.448 (4) [Not Loged In@localhost, IO:88cb2, Dbc:1347]] RPC:sp_prepare
2002-04-10 14:24:01.488 (4) [Not Loged In@localhost, IO:88cb2, Dbc:1347]] RPC:sp_execute
=======================================================================
I did not try to trace in SQL Server 7. I will have to find out how to do that first.
Thanks again. -
All SQL statements in a session
Hi OTN,
It's possible to get all SQL statements executed in a session?
In V$SESSION and V$ACTIVE_SESSION_HISTORY are only the current and pre current statements.
-JSGHi, you can enable the sql trace to a especific session with dbms_trace and get all sql statements, if you need more information review the Note:104239.1 into Metalink site.
Luck.
Have a good day.
Regards. -
Looking for a sql statement that returns me one row which is made up of data of two rows but display it side by side instead of one row followed by other row.
e.g
Col1
1
2
2 Rows selected
How can i display it as
Col1
1 2
1 Row selected
Appreciate any responses.
TIA
DS
nullHow to find the last sql statement executed in oracle .
thanks
B.B.Padhi
<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by SANJAY KUMAR ([email protected]):
i have table san with column rl having values 11, 12. Then write the SQL as:
select a.rl, n.rl from san a,( select b.rl from san b where b.rl in (select rl from san) ) n
where a.rl < n.rl;
It will give u approprate result.
Thanks!<HR></BLOCKQUOTE>
null -
Tracking the DDL (DROP) statements executed in a DB ?
Hi ,
I had a requirement like tracking all the DDL executed in the DB. I used V$SQL to track the DDL statements.Also by joining V$SQL and V$SESSION using the ADDRESS and SQL_ADDRESS, i'm tracking the MACHINE and TERMINAL of the user who issued this command.
I was able to track all the DDL's except DROP.
I'm not able to track the ADDRESS for DROP in V$SQL.
The query I used,(this query is a part of the trigger that i'm using)
SELECT N.OSUSER,N.MACHINE,N.TERMINAL ,COUNT(1)
INTO V_OSUSER,V_MACHINE,V_TERMINAL,V_COUNT
FROM V$SESSION N, V$SQL S
WHERE
S.ADDRESS=N.SQL_ADDRESS
AND UPPER(S.SQL_TEXT) LIKE DDL_TYPE||'%'
GROUP BY N.OSUSER,N.MACHINE,N.TERMINAL;
I have two questions,
1)Why I'm not able to track DROP statements
2) How can I get the address of the DROP statements?I think you are going about this the wrong way. The v$sql view (and related views) is essentially a view of a cache, not an audit mechanism.
Suggest you have a look at DDL audit triggers, most likely AFTER ALTER trigger. Note that these triggers also have numerous built-ins which provide contextual information which can be used as part of the auditing process. -
Need help in resolving the below error - SQL statement to execute cannot be
Here is my CO as below , which creates a callable statement.
try {
OAApplicationModule oaapplicationmodule = pageContext.getApplicationModule(webBean);
OADBTransactionImpl t = (OADBTransactionImpl)oaapplicationmodule.getOADBTransaction();
OracleCallableStatement proc = (OracleCallableStatement)t.createCallableStatement(lquery, -1);
proc.execute();
t.commit();
catch(SQLException sqlexception)
throw OAException.wrapperException(sqlexception);
After running the page , getting the below error ... ( Please find the below error stack )
I reffered the developement guide but did not get helpful things.
Please provide me any clues on the same.
Regards Raghu
-- Error Stack ---------------------------------------------------------
Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27123: SQL error during call statement preparation. Statement: null
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1145)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1408)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2637)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1659)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
java.sql.SQLException: SQL statement to execute cannot be empty or null
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnection.java:1138)
at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java:1054)
at oracle.jbo.server.DBTransactionImpl.createCallableStatement(DBTransactionImpl.java:3033)
at cisco.oracle.apps.xxchr.element.server.webui.XXCHRElementSetSearchCO.processFormRequest(XXCHRElementSetSearchCO.java:343)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:799)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(OAPageLayoutHelper.java:1118)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(OAPageLayoutBean.java:1579)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:995)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:961)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:816)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:995)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:961)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:816)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2633)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1659)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
java.sql.SQLException: SQL statement to execute cannot be empty or null
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269)
at oracle.jdbc.driver.OracleConnection.privatePrepareCall(OracleConnection.java:1138)
at oracle.jdbc.driver.OracleConnection.prepareCall(OracleConnection.java:1054)
at oracle.jbo.server.DBTransactionImpl.createCallableStatement(DBTransactionImpl.java:3033)
at cisco.oracle.apps.xxchr.element.server.webui.XXCHRElementSetSearchCO.processFormRequest(XXCHRElementSetSearchCO.java:343)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:799)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.OAPageLayoutHelper.processFormRequest(OAPageLayoutHelper.java:1118)
at oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean.processFormRequest(OAPageLayoutBean.java:1579)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:995)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:961)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:816)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.beans.form.OAFormBean.processFormRequest(OAFormBean.java:395)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:995)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequestChildren(OAWebBeanHelper.java:961)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processFormRequest(OAWebBeanHelper.java:816)
at oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processFormRequest(OAWebBeanContainerHelper.java:363)
at oracle.apps.fnd.framework.webui.beans.OABodyBean.processFormRequest(OABodyBean.java:363)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(OAPageBean.java:2633)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1659)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418)
at OA.jspService(OA.jsp:40)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:727)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
at java.lang.Thread.run(Thread.java:534)
Edited by: Raghu on Sep 14, 2010 2:58 AMcheck the code pasted by me again
Connection conn = pageContext.getApplicationModule(webBean).getOADBTransaction().getJdbcConnection();
Connection conn = oaapplicationmodule.getOADBTransaction().getJdbcConnection(); //Right oneThanks
--Anil -
ORA-00900: invalid SQL statement Error while Executing Procedure
Hi:
I am trying to execute following procedure through java code, but i am getting ORA-00900: invalid SQL statement error.
Procedure is :
<code>
(vResult out int)
as
vCardId varchar2(16);
vForacid varchar2(16);
vApp_Entry_No varchar2(10);
vSrNo number(6);
vCardStatus char(1);
vCardStat char(2);
vExpiryDate date;
Cursor cardCur1 is
select u.card_number,trim(u.ACCOUNT_NUMBER),u.CARD_STATUS,to_char(u.EXPIRY_DATE,'dd-MM-yyyy')
FROM DailyCardData u
where default_indicator='1'
and isprocessed = 'N'
order by expiry_date;
begin
vSrNo := 0;
vResult := 0;
open cardCur1;
Loop
fetch cardCur1 into vCardId,vForacid,vCardStat,vExpiryDate;
if cardCur1%NOTFOUND then
exit;
end if;
if (vCardStat != null) then
vCardStatus := 'H';
elsif (vExpiryDate <= sysdate) then
vCardStatus := 'E';
else
vCardStatus := null;
end if;
select a.app_entry_no into vApp_Entry_No from Application a,ApplicationLinkedAccounts l
where l.foracid = vForacid and l.AcSrNo = '1'
and a.app_entry_no = l.app_entry_no
and a.cardid is null
and a.DOWNLOADFILECREATIONFLAG = 'Y';
update Application set CardId = vCardId,
Card_Status = vCardStatus,APPLICATIONPROCESSEDFLAG = 'Y',
APPLICATIONPROCESSEDdate = DOWNLOADFILECREATIONdate
where App_Entry_No = vApp_Entry_No;
commit;
update DailyCardData set isprocessed = 'Y',app_entry_no = vApp_Entry_No
where card_number = vCardId;
commit;
end Loop;
close cardCur1;
vResult := 1;
end;
</code>
Can any body help me in that?
Thank You,
AnupFirst of all I don't see a procedure header.
Secondly I see you commit inside your procedure. This is a bug.
Thirdly I see you also commit inside a loop. This is also a bug, and needs to be removed asap.
The error indicates a statement doesn't parse. As you don't post the error stack, nor a table definition no one can reproduce the problem.
You need to isolate the statements, one by one, and run them through sql*plus to see what happens.
Sybrand Bakker
Senior Oracle DBA -
[0098]SQL*Plus encountered oracle error 100 while executing SQL Statement
Hi,
i'm trying to delete duplicate records from a table and running following script. this script is triggered from a unix script. it successfully deletes the records but in the last throws following error message,
:[0098]SQL*Plus encountered oracle error 100 while executing SQL Statement:2:Investigation required:
can anybody please help? below is the script.
DECLARE
--CURSOR FOR DUPLICATE ROWS
CURSOR CUR_DUPLICATE_ROWS IS
Select RMS_NOTE_ID, RMS_SUMMARY_NOTE_ID, count(*) cnt from PARTY_NOTE
group by RMS_NOTE_ID,RMS_SUMMARY_NOTE_ID having count(*) > 1;
var_date PARTY_NOTE.PARTY_NOTE_CREATED_DATE%TYPE;
BEGIN
FOR DUPLICATE_ROWS_REC IN CUR_DUPLICATE_ROWS
LOOP
delete from party_note
where RMS_NOTE_ID= DUPLICATE_ROWS_REC.RMS_NOTE_ID
and RMS_SUMMARY_NOTE_ID= DUPLICATE_ROWS_REC.RMS_SUMMARY_NOTE_ID
and rowid not in (select max(rowid) from party_note
where RMS_NOTE_ID= DUPLICATE_ROWS_REC.RMS_NOTE_ID and RMS_SUMMARY_NOTE_ID= DUPLICATE_ROWS_REC.RMS_SUMMARY_NOTE_ID);
commit;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
ROLLBACK;
END;Try this:
delete party_note
where rowid not in (select max(rowid)
from party_note
group by rms_note_id, rms_summary_note_id
commit;No need for cursors and loops.
And when that's completed, consider ALTERing the table to add a unique index (or even a primary key) so you'll never need to do this again. -
Hello All,
I am getting below error can you please help me
Error:-
The transaction associated with the current connection has completed but has not been disposed. The transaction must be disposed before the connection can be used to execute SQL statements.Perhaps this thread will help you out
http://stackoverflow.com/questions/11453066/error-the-transaction-associated-with-the-current-connection-has-completed-but
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence
Maybe you are looking for
-
WORST CUSTOMER SUPPORT EVER + COMPLAINT
WORST CUSTOMER SUPPORT ISSUE EVER - I purchased an HP Laptop in Sept 2011. I had an issue with my SD card reader and some flickering upon Startup on my screen. I was on the phone with 3 reps only for them to tell me that bc I was calling from a Can
-
How can i copy ztable from development server to ides server?
how can i copy ztable from development server to ides server?
-
Apple LaserWriter 16/600 PS with Win 7 (64bit): Looking for driver software
Hello, can anybody tell me where to find the driver software for the Apple LaserWriter 16/600 PS connected to my Windows PC running Windows 7 (64Bit). With Win XP there was no problem at all, the printer got connected via plug and play, whereas with
-
How to Call an ADF Bounded Task Flow Located in Another Web Application
Hi. I'm working in JDev 11G TP3. I've read the section from the 11G documentation on Working with Task Flow Activities, specifically the section 15.5.3 on How to Call an ADF Bounded Task Flow Located in Another Web Application. I've followed the inst
-
How to pass credentials to OSB business service at runtime?
Hi, I have a proxy service which calls a Business service through routing action. I have a scenario where I have to pass SOAP header with username token policy (which has username and password) while routing to the business service in the proxy servi