Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

finder/sql - scalar functions

3 views
Skip to first unread message

Krish.Venkat

unread,
Feb 10, 2004, 10:06:11 AM2/10/04
to

This is a running thread in weblogic.developer.interest.ejb with header
"finder/sql - scalar functions "
But since a jdbc question came up I am posting it here also.For background on
this pls. refer to that post.

I am running on WLS70sp1 and Oracle817 and using classes12.zip from 920 which
comes packaged with weblogic.

the EJB-QL which I have is

<ejb-ql>
<![CDATA[SELECT o FROM DrivingDrivenMatrix AS o WHERE o.paramId = ?1 and
((o.drivingField = ?2 and ((o.drivingCondition = 'EQUAL' and (?4 = o.drivingValue
or ?3 = o.drivingValue)) or (o.drivingCondition = '<=' and (?4 <= o.drivingValue
or ?3 <= o.drivingValue)) or (o.drivingCondition = '>=' and (?4 >= o.drivingValue
or ?3 >= o.drivingValue)) or (o.drivingCondition = 'BETWEEN' and (?3 BETWEEN substring(o.drivingValue,1,locate(o.drivingValue,'and')
- 2) and substring(o.drivingValue,locate(o.drivingValue,'and') + 4,LENGTH(o.drivingValue))
)))) or (o.drivingField = ?7 and o.drivingValue = ?8)) and ( o.drivenScreenId
= ?5 or o.drivenScreenId = ?6)]]>
</ejb-ql>
</query>

The sql statement from the weblogic jdbc trace is

SELECT WL0.DRIVEN_FIELD, WL0.DRIVEN_VALUE, WL0.DRIVING_FIELD, WL0.DRIVING_VALUE,
WL0.PARAM_ID, WL0.DEPENDENCY, WL0.DRIVEN_SCREEN_ID, WL0.DRIVING_CONDITION, WL0.LAST_UPDATE_TIME,
WL0.LAST_USER_ID, WL0.MATRIX_DESC, WL0.RULE_DEFN, WL0.VERSION FROM DRIVING_DRIVEN_MATRIX
WL0 WHERE ( (((WL0.PARAM_ID = ?)) AND ( (((WL0.DRIVING_FIELD = ?)) AND ( ( (
(((WL0.DRIVING_CONDITION = 'EQUAL')) AND ( ((? = WL0.DRIVING_VALUE) ) OR ((?
= WL0.DRIVING_VALUE) ) ) ) OR (((WL0.DRIVING_CONDITION = '<=')) AND ( ((? <=
WL0.DRIVING_VALUE) ) OR ((? <= WL0.DRIVING_VALUE) ) ) ) ) OR (((WL0.DRIVING_CONDITION
= '>=')) AND ( ((? >= WL0.DRIVING_VALUE) ) OR ((? >= WL0.DRIVING_VALUE) ) )
) ) OR (((WL0.DRIVING_CONDITION = 'BETWEEN')) AND (((? >= { fn SUBSTRING(
WL0.DRIVING_VALUE, 1, { fn LOCATE( WL0.DRIVING_VALUE, 'and' ) } - 2 ) } )) AND
((? <= { fn SUBSTRING( WL0.DRIVING_VALUE, { fn LOCATE( WL0.DRIVING_VALUE, 'and'
) } + 4, { fn LENGTH( WL0.DRIVING_VALUE ) } ) } ))) ) ) ) OR (((WL0.DRIVING_FIELD
= ?)) AND ((WL0.DRIVING_VALUE = ?)) ) )) AND ( ((WL0.DRIVEN_SCREEN_ID = ?) )
OR ((WL0.DRIVEN_SCREEN_ID = ?) ) ) )


The SQL statement which gets fired (this is in the oracle trace-file)is

SELECT WL0.DRIVEN_FIELD, WL0.DRIVEN_VALUE, WL0.DRIVING_FIELD, WL0.DRIVING_VALUE,
WL0.PARAM_ID, WL0.DEPENDENCY, WL0.DRIVEN_SCREEN_ID, WL0.D
RIVING_CONDITION, WL0.LAST_UPDATE_TIME, WL0.LAST_USER_ID, WL0.MATRIX_DESC, WL0.RULE_DEFN,
WL0.VERSION FROM DRIVING_DRIVEN_MATRIX WL0 WHE
RE ( (((WL0.PARAM_ID = :1)) AND ( (((WL0.DRIVING_FIELD = :2)) AND (((WL0.DRIVING_CONDITION
= 'BETWEEN')) AND (((:3 >= SUBSTR( WL0.DRIVING
_VALUE, 1, INSTR( 'and' , WL0.DRIVING_VALUE) - 2 ) )) AND ((:4 <= SUBSTR(
WL0.DRIVING_VALUE, INSTR( 'and' , WL0.DRIVING_VALUE) +
4, LENGTH( WL0.DRIVING_VALUE ) ) )))) ) OR (((WL0.DRIVING_FIELD = :5))
AND ((WL0.DRIVING_VALUE = :6)) ) )) AND ( ((WL0.DRIVEN_SCREE
N_ID = :7) ) OR ((WL0.DRIVEN_SCREEN_ID = :8) ) ) )

If u see the LOCATE function in JDBC gets converted to INSTR, which is correct..but
the parameters get converted wrongly..
instead of INSTR( WL0.DRIVING_VALUE,'and'), it gets converted to INSTR( 'and'
, WL0.DRIVING_VALUE) and
hence the record is not returned...

whatz going on here ?
Krish

Joe Weinstein

unread,
Feb 10, 2004, 11:38:53 AM2/10/04
to Krish.Venkat

Krish.Venkat wrote:

The EJB SQL generation seems to have made a mistake.
Joe

Krish.Venkat

unread,
Feb 10, 2004, 11:50:12 AM2/10/04
to

Why are u saying that the EJB-sql generation is wrong... ??

The EJB sql generates it as "locate" with the escape sequences (from the trace
in the weblogic jdbc)

But the trace files in the DBMS shows me "instr"

Who is actually doing the conversion from LOCATE to INSTR..weblogic or the jdbc
driver...??

Krish

Joe Weinstein

unread,
Feb 10, 2004, 12:34:26 PM2/10/04
to Krish.Venkat

Krish.Venkat wrote:

> Why are u saying that the EJB-sql generation is wrong... ??
>
> The EJB sql generates it as "locate" with the escape sequences (from the trace
> in the weblogic jdbc)
>
> But the trace files in the DBMS shows me "instr"
>
> Who is actually doing the conversion from LOCATE to INSTR..weblogic or the jdbc
> driver...??

Ok, and pardon me. I misunderstood. The salient part of the generated SQL is
"{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }". It is the JDBC driver's responsibility
to convert this to the DBMS-specific. It is apparenctly broken. Which JDBC driver are
you using? We can do a simple test with that driver to see how it converts that SQL
string.

Joe

Krish.Venkat

unread,
Feb 10, 2004, 12:41:31 PM2/10/04
to

I use
http://download.oracle.com/otn/utilities_drivers/jdbc/9203/classes12_g.zip

This is the same classes12.zip driver as that comes packaged with WLS70sp1 in
the
weblogic700\server\ext\jdbc\oracle\920 folder, but the classes12_g.zip has debug
turned on and the one with weblogic has debug turned off so I cannot see any trace
in the jdbc log.

Joe Weinstein

unread,
Feb 10, 2004, 12:59:14 PM2/10/04
to Krish.Venkat

Krish.Venkat wrote:

> I use
> http://download.oracle.com/otn/utilities_drivers/jdbc/9203/classes12_g.zip
>
> This is the same classes12.zip driver as that comes packaged with WLS70sp1 in
> the
> weblogic700\server\ext\jdbc\oracle\920 folder, but the classes12_g.zip has debug
> turned on and the one with weblogic has debug turned off so I cannot see any trace
> in the jdbc log.
>
> Krish

Ok. The first thing to do is to download the latest appropriate thin driver
from Oracle's site and get it listed in the -classpath argument the startup
script creates for weblogic. It is very likely the driver bug is fixed in a
later version than was packaged with 7.0sp1. If that doesn't fix the problem,
let me know.
Joe

Krish.Venkat

unread,
Feb 10, 2004, 1:03:38 PM2/10/04
to

Joe,

Ur not reading me right ...

I am using the drivers from
http://download.oracle.com/otn/utilities_drivers/jdbc/9203/classes12_g.zip
which are updated drivers from Oracle !

If u want to make sure check out
http://otn.oracle.com/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html

Joe Weinstein

unread,
Feb 10, 2004, 1:15:49 PM2/10/04
to Krish.Venkat

Krish.Venkat wrote:

> Joe,
>
> Ur not reading me right ...
>
> I am using the drivers from
> http://download.oracle.com/otn/utilities_drivers/jdbc/9203/classes12_g.zip
> which are updated drivers from Oracle !

Ok! Then we can do a simple standalone program to test the driver.
Would you just run a 10-line program which makes a connection,
and does:

System.out.println("The driver converts '{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }' to "
+ conn.nativeSQL( "{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }" ) );

thanks,
Joe

Deyan D. Bektchiev

unread,
Feb 10, 2004, 1:44:59 PM2/10/04
to Krish.Venkat
Krish,

The latest patch set for 9i is 9.2.0.4 . Unfortunately I don't think
Oracle provides just the drivers for download on the website. You'll
have to have an Oracle installation and apply the patch set on it to get
the updated drivers (The patch sets are available via Metalink
metalink.oracle.com) .
There were quite a few bugs fixed in the JDBC driver so it might have
yours fixed as well.

Regards,
Dejan

Joe Weinstein

unread,
Feb 10, 2004, 4:42:50 PM2/10/04
to krish...@hotmail.com

> Ok! Then we can do a simple standalone program to test the driver.
> Would you just run a 10-line program which makes a connection,
> and does:
>
> System.out.println("The driver converts '{ fn LOCATE( WL0.DRIVING_VALUE,
> 'and' ) }' to "
> + conn.nativeSQL( "{ fn LOCATE( WL0.DRIVING_VALUE,
> 'and' ) }" ) );
>
> thanks,
> Joe

Hi. I just did this myself with the latest driver from oracle, and got:

Driver d = new oracle.jdbc.driver.OracleDriver();
Properties props = new Properties();
props.put("user", "scott");
props.put("password", "tiger");
conn = d.connect("jdbc:oracle:thin:@localhost:1521:joe817", props);

System.out.println("The driver converts '{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }' to "
+ conn.nativeSQL( "{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }" ) );

The driver converts '{ fn LOCATE( WL0.DRIVING_VALUE, 'and' ) }'

to INSTR( 'and' , WL0.DRIVING_VALUE)

Joe Weinstein at BEA

Joe Weinstein

unread,
Feb 10, 2004, 4:54:03 PM2/10/04
to krish...@hotmail.com

Joe Weinstein wrote:

Not only is this a bug in the latest Oracle driver, but I have verified
how simple it is to generate the correct SQL, and that our own oracle
driver has gotten this function conversion correct, and has done so since
about 1997.
Joe
>
>
>
>
>
>
>

Krish.Venkat

unread,
Feb 10, 2004, 5:11:14 PM2/10/04
to

Appreciate your help Joe.

Does Oracle mention this as a bug officially somewhere ?

I have to stick to the oracle thin driver
So what do you propose ?

Krish

Joe Weinstein

unread,
Feb 10, 2004, 5:34:02 PM2/10/04
to Krish.Venkat

Krish.Venkat wrote:

> Appreciate your help Joe.
> Does Oracle mention this as a bug officially somewhere ?

I don't know. I may try searching their bug database...

> I have to stick to the oracle thin driver
> So what do you propose ?

I suggest that we both (individually) file a TAR (bug report)
with Oracle in this regard. I may also try hacking the oracle driver
myself to fix it ;-)
Joe

Joe Weinstein

unread,
Feb 10, 2004, 6:18:18 PM2/10/04
to

Joe Weinstein wrote:

>
>
> Krish.Venkat wrote:
>
>> Appreciate your help Joe.
>> Does Oracle mention this as a bug officially somewhere ?
>
>
> I don't know. I may try searching their bug database...
>
>> I have to stick to the oracle thin driver
>> So what do you propose ?
>
>
> I suggest that we both (individually) file a TAR (bug report)
> with Oracle in this regard. I may also try hacking the oracle driver
> myself to fix it ;-)
> Joe

I just entered a TAR with Oracle, in this regard: TAR 3616085.996

Joe Weinstein

unread,
Feb 11, 2004, 8:55:23 PM2/11/04
to Krish.Venkat

Krish.Venkat wrote:
> Appreciate your help Joe.
>
> Does Oracle mention this as a bug officially somewhere ?
>
> I have to stick to the oracle thin driver
> So what do you propose ?
>

Hi Krish. I got info back from Oracle, and now we need to see if weblogic is generating
the LOCATE function call with the arguments in the wrong order, or whether Oracle is wrong.
Here's what they say:

"This is expected behavior.
According to j2ee spec, there are 2 forms of LOCATE... one takes 2 params and the other
takes 3 params. Oracle had a bug in that we did not support the LOCATE function (bug:2268650)
according to the J2EE spec so we added support for the 2 param version (as required by SUN)
by mapping to our INSTR function which has the order of the 2 strings reversed.
If you disagree with my findings, please let me know."

I will look up the spec for LOCATE. We need to know if the "locate(o.drivingValue,'and')"
should really be "locate('and',o.drivingValue)".
Joe

Krish.Venkat

unread,
Feb 12, 2004, 9:45:13 AM2/12/04
to

Well , the moment I saw the INSTR reversed, the first thing I tried was reversing
the locate param order...
ie. locate('and',o.drivingValue)

But then this I think does not create the sql correctly , as it comes back with
a
"missing right parenthesis" ...

Can u pls. try this with ur test program ?

Thanx,

Joe Weinstein

unread,
Feb 12, 2004, 10:21:17 AM2/12/04
to Krish.Venkat

Krish.Venkat wrote:

> Well , the moment I saw the INSTR reversed, the first thing I tried was reversing
> the locate param order...
> ie. locate('and',o.drivingValue)
>
> But then this I think does not create the sql correctly , as it comes back with
> a
> "missing right parenthesis" ...
>
> Can u pls. try this with ur test program ?
>
> Thanx,
> Krish

Yep, The driver is broken:
The driver converts '{ fn LOCATE( 'and', WL0.DRIVING_VALUE ) }' to INSTR( 'and' WL0.DRIVING_VALUE, )

I'll let oracle know...
Joe

Krish.Venkat

unread,
Feb 12, 2004, 10:28:54 AM2/12/04
to

Thank you very much.
Pls. lemme know if Oracle can provide an "official" patch for this on the driver

http://download.oracle.com/otn/utilities_drivers/jdbc/9203/classes12_g.zip

Thanx,

Krish.Venkat

unread,
Feb 12, 2004, 10:32:18 AM2/12/04
to

Also , where can I check for the "TAR 3616085.996" on the oracle site

Krish

Joe Weinstein

unread,
Feb 12, 2004, 10:54:18 AM2/12/04
to Krish.Venkat

Krish.Venkat wrote:

> Also , where can I check for the "TAR 3616085.996" on the oracle site
>

http://metalink.oracle.com/metalink/plsql/tar_main.this_tar?tar_num=3616085.996&p_ctryCode=840

Joe

Joe Weinstein

unread,
Feb 14, 2004, 12:51:48 AM2/14/04
to Krish.Venkat
FYI. Oracle has filed this officially as a driver bug, in 9.2.0.4 and
10g. The Oracle bug number is: 3444231.
Joe

Krish Venkat

unread,
Feb 19, 2004, 11:23:46 AM2/19/04
to

Appreciate ur help Joe..

I am hitting more issues with the 920 driver...
I just sent the issue to support and am sending it to u too..lemme know if u turn
up with anything...


--------------------------------------------------------------------------------------

I did some across a strange problem due to which I had to revert back to the 817
driver and not give support for functions like LOCATE for now ...

When I use the 920 thin driver and update a table, for some reason it throws me
back with a integrity constraint even if the value is good ..but if I replace
it back with the 817 driver it goes through good.

I am not sure if this is a WLS issue or the driver issue.

this i what I see in the jdbc logs.
The RI happens for the red highlighted column even if the value is good !

DRVR SQLS SQL: "UPDATE PAYMENT_DELIVERY SET PAYMENT_METHOD = ? , LAST_USER_ID
= ? , LAST_UPDATE_TIME = ? , MBSCC_SETTLEMENT = ? , PTC_SUB_ACCOUNT_NUMBER = ?
, MBSCC_CLEARANCE = ? , MBSCC_EPN_ID = ? , MBSCC_EPN_SUB_ACCOUNT = ? , NSCC_SETTLEMENT
= ? , MBSCC_EPN_FLAG = ? , NSCC_CLEARANCE = ? , NSCC_CLEARING_NUMBER = ? , GSCC_SETTLEMENT
= ? , GSCC_CLEARANCE = ? , GSCC_REPO = ? , PTC_NAME = ? , PTC_ACCOUNT_NUMBER =
? , EURO_CLEAR_NUMBER = ? , EURO_CLEAR_CEDEL_NUMBER = ? , VERSION = ? , MMF_DIVIDENDS
= ? , SWEEP_FUND_CODE = ? , DISBURSEMENT_OPTION = ? , MMKT_PAYMENT_OPTION = ?
, DEBIT_CARD = ? WHERE ACCOUNT_NUMBER = ?"
DRVR OPER OracleConnection.getDefaultFixedString() returning false
DRVR OPER ResultSetUtil.needIdentifier(typeCode=1): return: false
DRVR SQLS Input SQL: "UPDATE PAYMENT_DELIVERY SET PAYMENT_METHOD = ? , LAST_USER_ID
= ? , LAST_UPDATE_TIME = ? , MBSCC_SETTLEMENT = ? , PTC_SUB_ACCOUNT_NUMBER = ?
, MBSCC_CLEARANCE = ? , MBSCC_EPN_ID = ? , MBSCC_EPN_SUB_ACCOUNT = ? , NSCC_SETTLEMENT
= ? , MBSCC_EPN_FLAG = ? , NSCC_CLEARANCE = ? , NSCC_CLEARING_NUMBER = ? , GSCC_SETTLEMENT
= ? , GSCC_CLEARANCE = ? , GSCC_REPO = ? , PTC_NAME = ? , PTC_ACCOUNT_NUMBER =
? , EURO_CLEAR_NUMBER = ? , EURO_CLEAR_CEDEL_NUMBER = ? , VERSION = ? , MMF_DIVIDENDS
= ? , SWEEP_FUND_CODE = ? , DISBURSEMENT_OPTION = ? , MMKT_PAYMENT_OPTION = ?
, DEBIT_CARD = ? WHERE ACCOUNT_NUMBER = ?"
DRVR OPER OraclePreparedStatement.setString(paramIndex=1, x=6)
DRVR OPER OraclePreparedStatement.setString(paramIndex=2, x=ramonag)
DRVR OPER OraclePreparedStatement.setTimestamp(paramIndex=3, timestamp)
DRVR OPER OraclePreparedStatement.setString(paramIndex=4, x=NA)
DRVR OPER OraclePreparedStatement.setString(paramIndex=9, x=NA)
DRVR OPER OraclePreparedStatement.setString(paramIndex=10, x=N)
DRVR OPER OraclePreparedStatement.setString(paramIndex=13, x=NA)
DRVR OPER OraclePreparedStatement.setString(paramIndex=15, x=NA)
DRVR OPER OraclePreparedStatement.setInt(paramIndex=20, x=5)
DRVR OPER OraclePreparedStatement.setInt(paramIndex=26, x=212057)
DRVR OPER OraclePreparedStatement.executeUpdate()
DRVR OPER OracleConnection.getAutoCommit() returned false
SQLException: SQLState(23000) vendor code(2291)
java.sql.SQLException: ORA-02291: integrity constraint (NEWSQA2.SYS_C0024466)
violated - parent key not found

at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
at weblogic.jdbc.jts.Statement.executeUpdate(Statement.java:509)
at weblogic.jdbc.rmi.internal.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:68)
at weblogic.jdbc.rmi.SerialPreparedStatement.executeUpdate(SerialPreparedStatement.java:58)
at com.symphoni.bofa.business.entity.paymentdelivery.PaymentDeliveryBean_g4bjly__WebLogic_CMP_RDBMS.__WL_store(PaymentDeliveryBean_g4bjly__WebLogic_CMP_RDBMS.java:5614)
at com.symphoni.bofa.business.entity.paymentdelivery.PaymentDeliveryBean_g4bjly__WebLogic_CMP_RDBMS.ejbStore(PaymentDeliveryBean_g4bjly__WebLogic_CMP_RDBMS.java:5115)
at weblogic.ejb20.manager.DBManager.storeBean(DBManager.java:468)
at weblogic.ejb20.manager.DBManager.postInvoke(DBManager.java:521)
at weblogic.ejb20.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:210)
at com.symphoni.bofa.business.entity.paymentdelivery.PaymentDeliveryBean_g4bjly_EOImpl.setPaymentDeliveryData(PaymentDeliveryBean_g4bjly_EOImpl.java:428)
at com.symphoni.bofa.business.session.accountmgr.table.PaymentDeliveryTable.updateDatabase(PaymentDeliveryTable.java:86)
at com.symphoni.bofa.business.session.accountmgr.table.TableOneToOne.save(TableOneToOne.java:54)
at com.symphoni.bofa.business.session.accountmgr.helper.BasePaymentDeliveryHelper.commit(BasePaymentDeliveryHelper.java:166)
at com.symphoni.bofa.business.session.accountmgr.SubmitHelper.saveToDatabase(SubmitHelper.java:161)
at com.symphoni.bofa.business.session.accountmgr.SubmitHelper.commit(SubmitHelper.java:121)
at com.symphoni.bofa.business.session.accountmgr.BaseAccount.submitAccount(BaseAccount.java:326)
at com.symphoni.bofa.business.session.accountmgr.AccountBean.submitAccount(AccountBean.java:420)
at com.symphoni.bofa.business.session.accountmgr.AccountBean_s4on9l_EOImpl.submitAccount(AccountBean_s4on9l_EOImpl.java:1166)
at com.symphoni.bofa.presentation.accountmgr.util.AcctSubmitHelper.setData(AcctSubmitHelper.java:211)
at com.symphoni.bofa.presentation.accountmgr.util.AcctSubmitHelper.init(AcctSubmitHelper.java:97)
at com.symphoni.bofa.presentation.accountmgr.servlet.BaseAcctController.processInit(BaseAcctController.java:675)
at com.symphoni.bofa.presentation.accountmgr.servlet.AccountController.doPost(AccountController.java:409)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(RequestDispatcherImpl.java:341)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:744)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:251)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:116)
at jsp_servlet._view._pages._account._distributor.__index._jspService(__index.java:480)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:445)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5412)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:744)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3086)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2544)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:153)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:134)
DRVR OPER OracleStatement.cleanupForBatching()
DRVR OPER OraclePreparedStatement.sendBatch()
DRVR OPER OracleConnection.rollback()

-------------------------------------------------------------------------------------------------------

Krish.Venkat

unread,
Feb 19, 2004, 11:26:02 AM2/19/04
to

Just realised that u might not see the highlighted colors...
The integrity constraint is in the column PAYMENT_METHOD, which is the first param
in the UPDATE statement.

Thanx,
Krish

0 new messages