Title: Re: [castor-user] Transactions not supported
Hi Ralf,

Thanks for the suggestions (config and updated informix driver).  I tried them out, but no luck.

I ran a simple test by querying the db using raw jdbc and got the same exception on the call to Connection.setAutoccommit(false).  However, the query executes properly if I ommit the call to Connection.setAutocommit(false).

My informix dba tells me that transactions are not supported unless we buy a special package.

Is there anyway to get castor to not call setAutocommit?




On 11/17/05 7:17 PM, "Ralf Joachim" <[EMAIL PROTECTED]> wrote:

Hi Vince,

as far as I understand informix documentation it does support
transactions. You may have a look it it yourself:

http://publib.boulder.ibm.com/infocenter/ids9help/index.jsp?topic=/com.ibm.jdbc.doc/jdbc49.htm

At the moment I have no idea whats missing. It seams castor can get a
connection from the informix DriverManager. Just after it got that
connection it tries to call 'con.setAutoCommit(false);' which is allowed
according to the documentation. One thing you can try is to slightly
modify your configuration but I expect this to change nothing.

    <database name="ricars" engine="informix" >
        <driver class-name="com.informix.jdbc.IfxDriver"
                    url=""             
            <param name="user" value="xxxxx"/>            
            <param name="password" value="xxxxx" />
            <param name="informixserver" value="mainer" />
            <param name="SERVICENAME" value="mainer" />
        </driver>      
        <mapping href="" />    
    </database>    

As I personally have no experience with informix I can only guess what
can be going wrong with it. Maybe you can check configuration of
informix server or try to update to another driver if possible.

Regards
Ralf


Vince Puzzella schrieb:

> Hi Folks,
>
> I was wondering if anyone can help me out on this (TIA!)
>
> I am running castor version 0.9.7
>
> I am getting an exception when attempting to query an Informix DB.  It
> has something to do with transactions being unsupported.  The same
> query works fine on a Sybase DB.  I am assuming the Informix database
> does not support transactions.  Is there some way to disable
> transaction for a particular DB?  Am I on the right track?  Please let
> me know if you need more info.
>
> This is my database.xml file and the exception follows ...
>
> <!DOCTYPE databases PUBLIC "-//EXOLAB/Castor JDO Configuration DTD
> Version 1.0//EN" "http://castor.exolab.org/jdo-conf.dtd">
> <jdo-conf>
>     <database name="ricars" engine="informix" >
>         <driver class-name="com.informix.jdbc.IfxDriver"
>             url=""
>             
>             <param name="user" value="xxxxx"/>            
>             <param name="password" value="xxxxx" />
>             <param name="SERVICENAME" value="mainer" />
>         </driver>      
>         <mapping href="" />    
> </database>    
> <database name="wincis" engine="sybase" >        
>     <driver class-name="com.sybase.jdbc2.jdbc.SybDataSource"
>             url=""             
>         <param name="user" value="xxxxx"/>
>             <param name="password" value="xxxxx" />   
>          <param name="SERVICENAME" value="wincis" />        
>     </driver>      
>     <mapping href="" />              
> </database>    
> <transaction-demarcation mode="local" />
> </jdo-conf>  
>
> Debug Log Excerpt follows....
>
> 2005-11-17 16:43:07,889 DEBUG
> [org.exolab.castor.jdo.engine.DatabaseRegistry] Fetching
> DatabaseRegistry: ricars
> 2005-11-17 16:43:08,025 DEBUG
> [org.exolab.castor.jdo.engine.JDOConfLoader] Loaded jdo conf successfully
> 2005-11-17 16:43:08,025 DEBUG
> [org.exolab.castor.jdo.engine.DatabaseRegistry] Fetching
> DatabaseRegistry: ricars
> 2005-11-17 16:43:08,026 DEBUG
> [org.exolab.castor.jdo.engine.DatabaseImpl] Beginning tx
> 2005-11-17 16:43:08,380 DEBUG
> [org.exolab.castor.jdo.drivers.ConnectionProxy] Creating instance of
> ConnectionProxy for calling class
> org.exolab.castor.jdo.engine.DatabaseRegistry
> 2005-11-17 16:43:08,382 DEBUG
> [org.exolab.castor.jdo.engine.DatabaseImpl] Rolling back tx
> 2005-11-17 16:43:08,382 DEBUG
> [org.apache.axis.i18n.ProjectResourceBundle]
> org.apache.axis.i18n.resource::handleGetObject(toAxisFault00)
> 2005-11-17 16:43:08,383 DEBUG [org.apache.axis.enterprise] Mapping
> Exception to AxisFault
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method..invoke(Method.java:324)
>         at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
>         at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
>         at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>         at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         at
> org.apache.axis.handlers..soap.SOAPService.invoke(SOAPService.java:453)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
>         at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core..ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core..ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core..StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core..StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core..StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core..StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11..Http11Processor.process(Http11Processor.java:868)
>         at
> org.apache.coyote.http11..Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:552)
> Caused by: org.tri.api.regadt.ComponentException:
> org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: Transactions not supported: Transactions not
> supported
>         at org.tri.api.regadt.ComponentImpl.executeQuery(Unknown Source)
>         at
> org.tri.api.regadt.PatientComponentImpl.getPatientByIdEx(Unknown Source)
>         ... 30 more
> Caused by: org.exolab.castor.jdo.PersistenceException: Nested error:
> java.sql.SQLException: Transactions not supported: Transactions not
> supported
>         at
> org.exolab.castor.jdo.engine.TransactionContextImpl.getConnection(TransactionContextImpl.java:250)
>         at
> org.exolab.castor.jdo.engine.TransactionContextImpl.getConnectionInfo(TransactionContextImpl.java:261)
>         at
> org.exolab.castor.jdo.engine.OQLQueryImpl.create(OQLQueryImpl.java:246)
>         at
> org.exolab.castor.jdo.engine.DatabaseImpl.getOQLQuery(DatabaseImpl.java:438)
>         ... 32 more
> Caused by: java.sql.SQLException: Transactions not supported
>         at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:348)
>         at
> com.informix.jdbc.IfxSqliConnect.setAutoCommit(IfxSqliConnect.java:1454)
>         at
> org.exolab.castor.jdo.drivers.ConnectionProxy.setAutoCommit(ConnectionProxy.java:369)
>         at
> org.exolab.castor.jdo.engine.TransactionContextImpl.getConnection(TransactionContextImpl.java:246)
>         ... 35 more
> --B_3215095280_424



-------------------------------------------------
If you wish to unsubscribe from this list, please
send an empty message to the following address:

[EMAIL PROTECTED]
-------------------------------------------------


Reply via email to