Bc4j transaction problem
In an application I have code that modifies a table.
In a client I have code that displays the table.
Periodically I get a Exception java.util.ConcurrentModificationException
What am I doing wrong?
If it is ok what should I do to recover??
In an application that executes periodically I have the following code.
void doError(ACUMesgMap mm) throws ACUException
try{
if ( errorVO == null )
errorVO = am.findViewObject("ViewErrorsForInst1");
// errorVO.setWhereClauseParam(0, new Integer((int)instance));
errorVO.setWhereClauseParam(0,new Integer ((int)instance));
errorVO.executeQuery();
while (errorVO.hasNext())
Row r = errorVO.next();
r.remove();
myTrans.commit();
java.util.Vector v = mm.getErrors();
Iterator e = v.iterator();
while (e.hasNext())
ACUMsgMapEntry me = (ACUMsgMapEntry)e.next();
ViewErrorsForInstRow r = (ViewErrorsForInstRow)errorVO.createRow();
r.setAcuinstanceRi(new Integer((int)instance));
r.setErrorCount(new Integer(me.errorCount));
String theException = me.e.toString();
if ( theException.length() > 250 ) theException = theException.substring(0,250);
r.setException(theException);
r.setMid(me.msgID);
r.setState(me.state);
r.setThreadNumber(new Integer(me.threadNumber));
long lt = me.time.getTime();
java.sql.Timestamp t = new java.sql.Timestamp(lt);
oracle.jbo.domain.Date date = new oracle.jbo.domain.Date(t);
r.setTheTime(date);
errorVO.insertRow(r);
myTrans.commit();
} catch (Exception e)
System.out.println(e);
ACUException ae = new ACUException(e);
ae.errorCode = 204;
ae.errorString = "Exception updating errors";
throw ae;
In client code I have the following that executes periodically.
private void jButton1_actionPerformed(ActionEvent e)
// Refresh Instance
oracle.jbo.ApplicationModule am = panelBinding.getApplicationModule();
oracle.jbo.ViewObject vo = am.findViewObject("ViewInstance1");
vo.executeQuery();
Sungim, sorry to contact you like this but i really need your help, i have seen that you have a big known about BCJ4 and OC4J...
And i was searching your e-mail but i did not find it,
My answer is:
I got an aplication that runs in a OC4J, that aplication works fine while the session is alive, when a time pass and the session die (I Think), the aplication don let me exit from any way!! and i need to use the magic Ctrl+Alt+Del!!
some part of my code:
=================
FILE ONE (ModuloHorarios):
public ApplicationModule mApp;
ApplicationModuleHome amHome = (ApplicationModuleHome)ctx.lookup(amDefName);
mApp = amHome.create();
FILE TWO:
public ApplicationModule mApp;
mMH = new ModuloHorarios(this,true);
//guarda la instancia de la aplizacion en mApp
setApp(mMH.getApp());
setApp(mMH.getApp());
The Source Code for the "EXIT" buttom:
=============================
if (mApp != null)
mApp.getTransaction().disconnect();
mApp.remove();
Configuration.releaseRootApplicationModule(mApp,true);
System.exit(0);
Thanks for any help!!!
Similar Messages
-
A Major Transaction Problem!
"A" is a record which has already been inserted into a table(TBL).
"insert(Y)" is a method that inserts a given record -Y- into TBL.
"foo(X)" is a method that takes a record as a parameter and queries it on a view(VIEW). This view is a
huge select statement that selects from TBL.
Here is the problem:
insert(B);
foo( A ); /* returns true */
but
insert(B); /* B does not exist in TBL */
foo(B); /* returns false and catches an exception that "A" is not found! */
insert(Y) method is a CMP EJB method but foo(X) uses JDBC to access DBMS.
so what can cause this transaction problem?
thanks in advance,
-selcukHi,
Maybe foo is running in a different transaction than insert?
Some possible causes:
-you are starting a new transaction for foo, either via the UserTransaction or via REQUIRES_NEW
-you are using a regular JDBC driver for foo instead of an XADataSource.
Did you try to set foo's transaction attribute to REQUIRED?
Best,
Guy
http://www.atomikos.com -
If anyone can help point me in the right direction of what I should be looking for in my configuration files for the following transaction problem. It looks like the delete is being committed one entity at a time instead of at the ened of the transaction.
I'm using OC4J, eclipselink and Spring.
I have two entities that I am trying to delete. They have a OneToOne relationship which in the underlying database (Oracle) has a deferred foreign key integrity constraint. I believe that this means that if the intities are delted in the same transaction everything should work, but if they are deleted in seperate transactions then the constraint should kick in and disallow the delete. I am using code similar to below to attempt to delete in one transaction. I am using Spring to inject an EntityManager and to control the transaction handling.
@Transactional(readOnly=true)
public class ProductServiceImpl implements ProductService{
@PersistenceContext(type = PersistenceContextType.TRANSACTION)
private EntityManager emp;
@Transactional(readOnly=false, propagation=Propagation.REQUIRES_NEW)
public void deleteProduct(Product prod){
Object managedEntity = em.find(product.getClass(), prod.getId);
em.remove(managedEntity);
}Spring configuration xml file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<jee:jndi-lookup id="myEmf" jndi-name="persistence/JPA"/>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="myEmf"/>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="ProductService" class="ProductServiceImpl"/>
</beans>On calling the delete I get the following error message
org.springframework.transaction.TransactionSystemException -
Could not commit JPA transaction; nested exception is
javax.persistence.RollbackException: Exception [EclipseLink-4002]
(Eclipse Persistence Services - 1.0 (Build SNAPSHOT - 20080508)):
org.eclipse.persistence.exceptions.DatabaseException Internal Exception:
java.sql.SQLException: ORA-02091: transaction rolled back ORA-02292:
integrity constraint (RVEL_FK) violated - child record found Error Code: 2091 Call:
DELETE FROM RVEL_REVENUE_ELEMENT WHERE (ID = ?) bind => [6594]
Query: DeleteObjectQuery(RevenueElement@1eafdce)I have also tried doing all this programatically, using a jndi lookup as follows
EntityManager em = null;
try{
Context ctxt = new InitialContext();
emf = (EntityManagerFactory)ctxt.lookup("jpaTest/ServerJPA");
em = emf.createEntityManager();
EntityTransaction et = em.getTransaction();
try{
et.begin();
em.remove(managedEntity);
et.commit();
} finally{
if(et != null && et.isActive()){
et.rollback();
} catch(NamingException nme) {
} finally{
if(em != null && em.isOpen()){
em.close();
} When debugging the error is thrown on the line
em.remove(managedEntity);before the transaction commit is called.Thanks for the reply.
The managed entity being deleted in the call to the delete method has one to many relationship with one of the entities in the one to one relationship which then has a reference to the second entity. These references are annotated with cascade ALL.
A --> B --> C. The error is referring to entity C and its relationship back to B. The error is being thrown before the transaction is being committed.
After doing a bit more research I believe that it is caused by the lack of the following property in my persistence.xml.
<property name="eclipselink.target-server" value="OC4J_10_1_3"/>But if I put this property in then I get the errorException creating EntityManagerFactory using PersistenceProvider class org.eclipse.persistence.jpa.PersistenceProvider for persistence unit ServerJPA. -
Stored procedure in a transaction problem
hello to everybody
I have an application under weblogic8.1 sp3.
I have to call an Oracle stored procedure that populate a table and I have to see the new record anly at the end of the ejb service transaction ( a Container transaction ).When the procedure terminate I see the db data before the transaction end.So I have created a XA DataSource and changed the oracle 9.2 thin drivers in oracle 9.2 thin drivers XA.But Now I receive this Oracle Error:
ORA-02089: COMMIT is not allowed in a subordinate session
Why?How Can I resolve my problem?Can Anyone Help Me?Thanks...giorgio giustiniani wrote:
hello to everybody
I have an application under weblogic8.1 sp3.
I have to call an Oracle stored procedure that populate a table and I have to see the new record anly at the end of the ejb service transaction ( a Container transaction ).When the procedure terminate I see the db data before the transaction end.So I have created a XA DataSource and changed the oracle 9.2 thin drivers in oracle 9.2 thin drivers XA.But Now I receive this Oracle Error:
ORA-02089: COMMIT is not allowed in a subordinate session
Why?How Can I resolve my problem?Can Anyone Help Me?Thanks...It sounds like you have transactional syntax embedded in your
procedure. You can't do that and still include it in an XA
transaction.
Joe -
How to prevent users from creating transactional problems?
Dear Sirs...
Using JDeveloper 10.1.2 and ADF UIX technology. If i created a web application that contains many pages. Assume the application contains pages A,B,C,D.
The end user should access the pages A then B then C then D to get the transaction executed and commited correctly.
the problem is:
1- if a user navigates from A to B to C then he press the Back button to A then he commits the transaction, the data would be stored in correctly.
2- if page C requires some preparations in page B (initalization of session variables) and the user enters page A then he changes the URL to C, then this would cause inproper execution of application and so the data would be stored incorrectly.
so how can i prevent the user from pressing the back button of the browser (which i do not think is possible) or how can i prevent him from making any errors by inproper page navigation?
thanks for any help in advance and best regardsI really don't know if this is the correct way of doing it, but we prevent navigation directly to any page within our application if the HTTP Referer header is null. If it's null, we redirect to a page that says the user should use the navigation buttons provided and not enter the page via bookmarks, history, or direct navigation via a typed in URL.
-
Add a New Field to Selection Screen of VL10 Transactions problem
Hello,
i have tried to add a selection field in the VL10G. I have used the docu from Gaurav Jagya (Thanks to Gaurav) an followed the steps. Here you can find the docu: Link: [http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/e07c282f-e2b4-2c10-e4b3-a314fc17b6a1]
In the Step 2 , Point 4 i declare the Select option ST_MTART and use it later in Step 5 in the form USEREXIT_SELECT_OPTIONS_TRANSF.
Step 2.
4. Write the declaration of new select-option inside include ZV50RSEL_MTART.
DATA: V_MTART TYPE MARA-MTART.
SELECT-OPTIONS: ST_MTART for V_MTART.
Step 5. Transfer values from selection screen to range.
For this step, again an access key is required to modify include V50R_USEREXIT_TRANSF.
1. Open include V50R_USEREXIT_TRANSF in change mode. It will ask for an access key. Enter the same and proceed.
2. Write following line of code inside form USEREXIT_SELECT_OPTIONS_TRANSF:
CX_SELECT_OPTIONS-MTART = ST_MTART[].
When i start the VL10G it works fine, but when i start another VL10* transaction i get a dump. Example VL10:
Runtime Errors SYNTAX_ERROR
Date and Time 20.04.2010 13:54:00
Short text
Syntax error in program "RVV50R10C ".
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLV50R_PRE" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
The following syntax error occurred in program "RVV50R10C " in include
"V50R_USEREXIT_TRANSF " in
line 18:
"field "ST_MTART unknown. .."
It dumped, because the form V50R_USEREXIT_TRANSF is used in EVERY VL10* transaction and the select-option is declared ONLY in my Z-include.
Is the someone out there, who has solved the problem? Is the an error in the docu or am i wrong?
Thanks!
AndreasHas there been any further information on this issue in this or any other threads. I am encountering the same issue as identified by Andreas.
Thanks,
Brian -
Hi
I have a problem related to CMP entity beans.
I am using Oracle 9i and weblogic 6.1
Here is the description of the problem.
The transaction attribute of all the beans is set to 'Required'.
I have a PersonBean (CMP) in Person.jar mapping to Person table along with other
beans.
I have a MemberBean(CMP) in Member.jar file mapping to Member table along with
many other beans.
There is a one to many relation ship between person and member tables in Oracle
9i database :
Id in the person table is the P_Key and Person_Id in Member table is the related
foreign key.
No relationship was made between Person and Member beans as there were in two
different jar files with different deployment descriptors.
I have a stateless session bean PersonService bean.
There is a method in PersonService bean called createPerson(String name);
This method creates Person in the database using Person p = PersonHome.create(),
long personId = p.getId()..returns the primary key of the person.
PersonService calls createMember(long personId) now.
which will try to create a Member record in the database using the personId.
Now the Member bean fails to create and the transaction is rolled back with a
foreign_key violation exception.
because it cannot locate the Person EJB Primary key entry in the underlying table.
But the EJB cache is still inserted properly with Person EJB (findByPrimaryKey
works).
I feel that Member bean is not able to participate in the same transaction of
the Person bean inspite of keeping the transaction attribute to 'Required'.
When I keep the transaction of Person bean to 'RequiresNew', then the transation
of createPerson is getting committed and Member is starting a New transaction
and it gets created.
But I donot want like this.
I want all the beans to be participating in the same transaction.
According to Oracle / Weblogic documentation the default database isolation mode
Read_Committed should allow participants in transaction to see uncommitted data
while participants outside the transaction see only committed data. I have tried
other dataabase isolation modes (such as Read_Uncommitted, "Serializable") these
appear to either create other problems or not have an affect.
Any solution to this problem is highly appreciated.
Thanks
LavanyaPreviously our code was running on Weblogic where
methodA() -> Transaction Attribute -> Supports
methodB() -> Transaction Attribute -> Required
But in JBOSS in order to run the same thing we have to do
methodA() -> Transaction Attribute -> Required
methodB() -> Transaction Attribute -> Required
Any Pointers?? -
How to create a savepoint in "BC4J transaction" from a struts Action
Hello,
I need to create a kind of savepoint in a transaction object in BC4J
[ BC4JContext context = BC4JContext.getContext(request);
context.getApplicationModule().getTransaction()."savepoint()" ]
but it seems to me that it doesn't exist!!
How can I do this.
Thanks for help
MehdiMehdi:
BC4J does not support creation of savepoints in its transaction object. Savepoint support is quite tricky in that if we were to support it... If the transaction is rolled back to the SP, we would have to sync the cache back to the state when the SP was taken. And, this can be quite an expensive operation.
Thanks.
Sung -
Transaction problem with jconn5.2
jconn5.2 and iASsp2
I am using Bean Managed Transaction in my application, start the first
transaction is fine, but once the application going to start another
transaction, errors occoured:
"the transaction onwer is not in current thread".Hi,
I've had the very same problem with RAD.
Try to set the Transaction attribute to SUPPORTS. With SUPPORTS the EJB method will use the same transaction as the caller.
package hu.bme.ett.raktar.facade;
import hu.bme.ett.raktar.ejbs.Raktar;
import hu.bme.ett.raktar.ejbs.controller.RaktarManager;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
@Stateless
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public class RaktarListazas implements RaktarListazasLocal {
RaktarManager rm = new RaktarManager();
* Default constructor.
public RaktarListazas() {
// TODO Auto-generated constructor stub
public Raktar getRaktar(long raktId) {
return rm.findRaktarByRaktId(raktId);
public void createRaktar(long raktId) {
Raktar r = new Raktar();
r.setRaktId(raktId);
r.setRaktAzonosito("Y1RAK-01" + raktId);
r.setMegnevezes("Elso raktaram");
try {
rm.createRaktar(r);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}Cheers,
Viktor -
DB Transaction problem in 9.0.2i
The problem is in Oracle 9iAS version 9.0.2.
Windows 2000
Oracle 8.1.7i R3 DB
When I shutdown (manualy) the server in the midle of some DB transaction, some of data are commited in the database. Everything is OK when the my application throws some Exception in the midle of transactin, no data are commited in the DB (DB rollback the transaction).
So, the server that is manualy stoped commit started transaction no matter that transaction is not finished yet.
This problem consist in both EntityEjb updating and JDBC updating DB.
Thanks in advance
Dusan Petrovic9.0.2.0.1 is certified with XP Pro only (not Home edition), if you check on Metalink.
-
Who can help?
When running a BC4J application the following error happens running on 9ias application server from a deployed ear-file, (Do I run on my local OC4J then things go allright):
Er is een fout opgetreden JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33001: Cannot find the configuration file pilot\common\bc4j.xcfg in the classpath "
Do I look in the WEB_INF\classes directory then there is a pilot\common\bc4j.xcfg file in that directory.
It happens when instantiating the application-module form BC4J in the foolwing code-snippet
String applicationModule = "pilot.PilotModule"; // Full name of application module
String configuration = "PilotModuleLocal"; // Name of configuration
PilotModuleImpl am = (PilotModuleImpl)
Configuration.createRootApplicationModule(applicationModule,configuration);
Ik heb Business-components gedecompileerd om te kijken waar de fout optreedt:
en dit gebeurt in de method loadFromClassPath(String s) in de configuration class
nadat hij buildConfigurationFileNameFromClassPath de string " pilot\common\bc4j.xcfg "
heeft opgebouwd. Hij kan de stream dus niet inlezen.
public void loadFromClassPath(String s)
throws JboException
String s1 = "/" + s;
s1 = s1.replace(File.separatorChar, '/');
InputStream inputstream = JBOClass.getResourceAsStream(s1);
if(inputstream == null)
inputstream = JBOClass.getResourceAsStream(s1.substring(1));
if(inputstream == null)
throw new JboException(Class.forName("oracle.jbo.common.CommonMessageBundle"), "33001", new Object[] {
s1
try
loadFromStream(inputstream);
inputstream.close();
inputstream = null;
catch(Exception exception)
JboException jboexception = new JboException(Class.forName("oracle.jbo.common.CommonMessageBundle"), "33001", new Object[] {
s
jboexception.addToDetails(exception);
throw jboexception;Hi. Sorry, no solution but am trying to work towards one! I am encountering a similar problem. All I am doing is running a simple BC4J JSP Browse Form. I am doing this locally using JDeveloper 9.0.2.822, WinXP Pro SP1.
The error I am getting is:
"Error Message: JBO-33001: Cannot find the configuration file /MyApp/common/bc4j.xcfg in the classpath".
I had 2 projects, with the Business Components Project separate to the BC4J JSP project, but have since included both in one project and the error is still the same. I have obviously included the correct path to the bc4j.xcfg file in both the WinXP classpath and the classpath in JDeveloper found under the relevant "Project Settings".
I have tried the tricks mentioned in other posting such as combing the bc4j.xcfg file for any errors in the xml but it seems well formed.
Any ideas?
cheers
D -
Global transaction problem with JDriver/Oracle and Oracle XA
We are haveing serious problems with Container Managed Transactions on Bea 6.1
and Oracle with EJB having set "Required" for all methods. We have tried in vain
to make it work with JDriver as well as OracleXAClient. Both fail at sometime
during the execution throwing "Not called in cotext of global transaction" (with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this one with oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData metaData = dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null, tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from global transaction.
Interesting thing is that with OracleXA, it doesnt say this exception at this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB, we used
direct jdbc connection and then did away with it. Now all next sql queries were
executed against oracle pool using XA data source with OracleXAClient. But at
some point we again ran into the problem "XAER_PROTO : Routine was invoked in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.AFAIR this issue was resoved by moving tx opreations out from non-tx
methods.
Regards,
Slava
"Apurb Kumar" <[email protected]> wrote in message
news:[email protected]...
Jawad,
It would be nice if you can post the full stack trace error message. Didyou try moving to
the latest service pack (sp2) for WLS6.1.
Thanks,
Jawad Mahmood wrote:
Yes we had correctly set TXDataSource and let it to point to the right
connection
pool each time and it worked well with oracle thin driver but not whenwe switched
the pool to JDriver or OracleXAClient. Note that we could aways confirmthat pool
was successfully created alongwith we could retrieve connection from itvia TXDatSource,
things gave problem after we attempted to do what i had mentioned in mylast posting.
>>
Also with JBoss 2.4.4 things work pretty well. So couldnt be our codeproblem.
"Slava Imeshev" <[email protected]> wrote:
Jawad,
Did you set up TxDataSource?
Regards,
Slava Imeshev
"Jawad Mahmood" <[email protected]> wrote in message
news:[email protected]...
We are haveing serious problems with Container Managed Transactionson
Bea 6.1
and Oracle with EJB having set "Required" for all methods. We havetried
in vain
to make it work with JDriver as well as OracleXAClient. Both fail atsometime
during the execution throwing "Not called in cotext of global
transaction"
(with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this onewith
oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData _metaData =
_dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null,tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from globaltransaction.
Interesting thing is that with OracleXA, it doesnt say this exceptionat
this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB,we
used
direct jdbc connection and then did away with it. Now all next sqlqueries
were
executed against oracle pool using XA data source with
OracleXAClient.
But
at
some point we again ran into the problem "XAER_PROTO : Routine wasinvoked
in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.
Apurb Kumar -
CNE5 transaction problem in Upgrade ECC5.0
I have problem in the transaction CNE5 . this transaction is working in 4.6b but its showing dump in ECC5.0. saying ABAP errror.we r upgrading from 4.6b to ECC5.o
Can u plz help me
Thanksits saying
12.11.2005 07:30:41 bissap1 120 C CREATE_OBJECT_CLASS_NOT_FOUND CX_SY_CREATE_OBJECT_ERROR CL_EXIT_MASTER================CP 1 -
Not posted Treasury transactions- problem with new Business area (NewGL)
Hi all,
I have to change the Treasury account assignment objects due to a restructure. Currently, all TR transactions are assigned to one business area only.
In future, there will be 3 (different) business areas.
I have added new products, transaction tpyes etc and I have made further customising
settings. It looks ok and I can enter new transactions, settle and post them.
Problems I do have with already existing deals (fixed term and Forex transactions).
In here I get posting errors with message:
Balancing field "Business Area" in line item 001 not filled
Message no. GLT2201
I have added additional account assignment references for the new Business Areas
and assigned to product types and account assignment
What happens when I create a deal?
Is that information (product type/ transaction/ account assignment) alreaedy stored in a table and used, when processing the deal further?
Can I somehow change that original assignment per deal now?
I think my problem lies in that the system wants to use the old assignment but also the new and it comes to conflict in field business area.
Any hints much appreciated and will be reqarded as usual.
Thanks
HeinAssign Business area in the following step (ECC 6.0)
SPRO - Financial Supply Chain Management - Treasury and Risk Management - Transaction Manager - General Settings - Accounting - Link to Other Accounting Components - Allocate Additional Account Assignments to Account Assignment References
Kalyan -
Hello,
I am working with BC4J view objects
I created the view object using the query with the bind variables
select deptno from emp where salary = :1 and empno>= :2 and someothercolumn = :1
I set the bind variables like
viewObject.setWhereClauseParam(0, 10000);
viewObject.setWhereClauseParam(1, 10);
viewObject.executeQuery();
The view executed with out the problem and gave the result.
Now if I create the view with the query
select deptno from emp where salary = :1 and someothercolumn = :1 and empno>= :2
( The replaced the columns )
I set the bind variables like
viewObject.setWhereClauseParam(0, 10000);
viewObject.setWhereClauseParam(1, 10);
viewObject.executeQuery();
When i execute the query, it throws an expection
"java.sql.SQLException: ORA-01008: not all variables bound"
Please let me know what should be done to correct the problem
Thanks in Advance
SenthilYou're hitting an Oracle JDBC Driver bug regarding repeating the same bind variable name in the SQL statement.
As a workaround, instead of:
select deptno from emp where salary = :1 and someothercolumn = :1 and empno>= :2 do this instead:
select deptno from emp where salary = :1 and someothercolumn = :2 and empno>= :3 and write code like this:
viewObject.setWhereClauseParam(0, 10000);
viewObject.setWhereClauseParam(0, 10000);
viewObject.setWhereClauseParam(1, 10); That is, avoid repeating the same bind variable name in the SQL statement.
Maybe you are looking for
-
I have a BIG problem...had to format my computer
I saved all my music, from CD's that I have imported to itunes, so I could format my computer due to a problem with Windows (surprise)! When I open itunes, the shortcut is there, but the music isn't. Can I reload my itune music from my ipod? I have f
-
MacBook Pro 17" Model MD311LL/A
I have a chance to purchase this new from a friend. I'm not paying full price ($2400) because this was supposively released in 2011, and it is already outdated. For instance, it doesn't have the latest Retina Display. The fact that Apple doesn't m
-
Hi, I am unable to release a process order. I am getting an error message - Release not possible. Am I missing any configuration settings? Please advise. Ranganath
-
Is it possible to stop a "Converting WMA songs" session in iTunes?
I mistakenly started a WMA conversion session and now iTunes is creating duplicates of every song in my library. Is there any way to cancel a command in iTunes? Secondly, is there a an easy way to remove duplicates in my iTunes music library? Thanks
-
I am trying to access a Business Component (deployed as a EJB on 9ias) using an Applet. I used Jdev 9i to create a sample Jclient(JApplet) and it works fine but only if it runs as an application. Infact when I use applet I receive this message by Jav