Hi Armin, 2005/10/26, Armin Waibel <[EMAIL PROTECTED]>: > Neil Jianguo Zhou wrote: > > Hi Armin, > > > > It always occurs on same sql, and be reproduceable. It seems a code error, > > even I doubt the prepared sql statement. However, it works fine in > > Resin+Oracle. > > > > Is the statement generated by OJB or by a user query (if so please post it)?
It's user query. The sql is: <==(sql text begin)== SELECT DISTINCT 'BUYER' org_role_code FROM core_party_relationship WHERE subject_party_id = ? AND relationship_type_code = 'BUYER_SUPPLIER' UNION SELECT DISTINCT 'SUPPLIER' org_role_code FROM core_party_relationship WHERE object_party_id = ? AND relationship_type_code = 'BUYER_SUPPLIER' ==(sql text end)==> > > Does batch-mode="false" setting influence the issue? > > Does setting > ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl > influence the issue? All do not influence the issue, failed as former. I'd tried the following setting: 1)batch-mode="false" ConnectionFactoryClass=xx.xx.ConnectionFactoryPooledImpl 2)batch-mode="false" ConnectionFactoryClass=xx.xx.ConnectionFactoryDBCPImpl 3)batch-mode="true" ConnectionFactoryClass=xx.xx.ConnectionFactoryPooledImpl > > Do you use shared libraries (e.g. commons-dbcp) or do you bundle all > libraries in the webApp (.war file)? Yes, I do package all required jakarta commons libraries, including commons-dbcp.jar. and bundle all libraries in one .war file put into WEB-INF/lib directory. > > > > Is some neccessary configurations missing? > > I don't notice a configuration error in your settings. The > java.lang.UnsupportedOperationException in managed configuration (I > assume) is a result of using OJB's transaction demarcation (e.g. > PB.beginTransaction call) instead of using JTA-transaction demarcation. So great. I agree with your viewpoint. I'd also looked other archived doc up in mail lists. Thank you much. Regards, Neil > > regards, > Armin > > > > > Before occurs the ORA-01008 error, there're some doubtful info in > > JBosss+Oracle. > > But there're not this kind of info in Resin+Oracle. FYI: > > > > - INFO [ObjectCacheDefaultImpl] Setup cache: [EMAIL > > PROTECTED],useSoftReferences=true,cachingKeyType=0,useAutoSync=true] > > - INFO [ObjectCacheDefaultImpl] tx was aborted, remove 7 traced > > (potentially modified) objects from cache > > - INFO [ConnectionManagerImpl] Rollback was called, do rollback on current > > connection [EMAIL PROTECTED] > > - INFO [ObjectCacheDefaultImpl] tx was aborted, remove 7 traced > > (potentially modified) objects from cache > > - INFO [ConnectionManagerImpl] Rollback was called, do rollback on current > > connection [EMAIL PROTECTED] > > - INFO [ObjectCacheDefaultImpl] tx was aborted, remove 176 traced > > (potentially modified) objects from cache > > - INFO [ConnectionManagerImpl] Rollback was called, do rollback on current > > connection [EMAIL PROTECTED] > > - ERROR [JdbcAccessImpl] SQLException during the execution of the SQL > > query: SELECT xxx FROM xxx WHERE xxx, message is: ORA-01008: not all > > variables bound > > > > thanks, > > Neil > > > > -----Original Message----- > > From: Armin Waibel [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, October 26, 2005 4:29 PM > > To: OJB Users List > > Subject: Re: OJB configuration problem on jboss > > > > > > Hi Neil, > > > > this is a really strange error, seems that Oracle detect an > > objectionable number of bound variables in a prepared statement. > > You said that this error message doesn't arise in Resin+Oracle, thus it > > can't be a problem of OJB's sql generator. > > > > Does always the same error occur (same sql statement) or does it occur > > for different sql statements? Is the error reproduceable or does it > > occur random? > > If the error occur for different statements and arise radom, then the > > issue can be a concurrency problem - e.g. different threads using the > > same PB instance at the same time. > > > > regards, > > Armin > > > > > > Neil Jianguo Zhou wrote: > > > >>Hi there, > >> > >>I use pure Servlet/JSP based code, not including any EJB based code, under > >>JBoss app server. Use non-managed environment configuration same as other > >>pure servlet container, such as Resin, but accessing database became > >>unstable. It will sometimes throw exception: > >> > >>- ERROR [JdbcAccessImpl] SQLException during the execution of the SQL > >>query: SELECT xxx FROM xxx WHERE xxx, message is: ORA-01008: not all > >>variables bound > >> > >>However, everything is ok under other servlet container, like Resin. > >> > >>The non-managed environment configuration is following: > >> > >>1. In OJB.properties: > >>- > >>PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl > >>- > >>ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl > >>- > >>JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JBossTransactionManagerFactory > >> > >>2. In repository_database.xml: > >><jdbc-connection-descriptor > >> jcd-alias="default" > >> default-connection="true" > >> platform="Oracle9i" > >> jdbc-level="2.0" > >> driver="oracle.jdbc.driver.OracleDriver" > >> protocol="jdbc" > >> subprotocol="oracle" > >> dbalias="thin:@localhost:1521:orains1" > >> username="scott" > >> password="tiger" > >> eager-release="false" > >> batch-mode="true" > >> useAutoCommit="0" > >> ignoreAutoCommitExceptions="false"> > >> > >> <object-cache > >> class="org.apache.ojb.broker.cache.ObjectCacheDefaultImpl"> > >> <attribute attribute-name="timeout" attribute-value="900"/> > >> <attribute attribute-name="autoSync" attribute-value="true"/> > >> </object-cache> > >> > >> <connection-pool maxActive="21" validationQuery=""/> > >> > >> <sequence-manager > >> className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl"> > >> <attribute attribute-name="grabSize" attribute-value="20"/> > >> <attribute attribute-name="autoNaming" attribute-value="true"/> > >> <attribute attribute-name="globalSequenceId" > >> attribute-value="false"/> > >> <attribute attribute-name="globalSequenceStart" > >> attribute-value="10000"/> > >> </sequence-manager> > >> > >></jdbc-connection-descriptor> > >> > >> > >>When I change to managed environment configuration, and run again. It > >>throws another different exception: > >> > >>- ERROR [TranslationUtil] Cannot pre-load translation cache > >>java.lang.UnsupportedOperationException: In managed environments only JTA > >>transaction demarcation allowed > >> > >>This kind of error *always* occurs, not as *sometimes*, mentioned above. > >> > >>The managed environment configuration is following: > >> > >>1. In OJB.properties: > >>- > >>PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactorySyncImpl > >>- > >>ConnectionFactoryClass=org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl > >>- > >>JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JBossTransactionManagerFactory > >> > >>2. In repository_database.xml: > >>(Same as above non-managed environment configuration) > >> > >> > >>Not changing any code is preferred, I want to just modify some > >>configuration to go. Can anyone tell me how to deal with? Any comments > >>would be very welcome. > >> > >>Thanks, > >>Neil > >> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]