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="jdbc:informix-sqli://r1hp:987/mainer">
<param name="user" value="xxxxx"/>
<param name="password" value="xxxxx" />
<param name="informixserver" value="mainer" />
<param name="SERVICENAME" value="mainer" />
</driver>
<mapping href="mapping.xml" />
</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="jdbc:informix-sqli://r1hp:987/mainer:informixserver=mainer">
<param name="user" value="xxxxx"/>
<param name="password" value="xxxxx" />
<param name="SERVICENAME" value="mainer" />
</driver>
<mapping href="mapping.xml" />
</database>
<database name="wincis" engine="sybase" >
<driver class-name="com.sybase.jdbc2.jdbc.SybDataSource"
url="jdbc:sybase:Tds:172.22.32.101:2638">
<param name="user" value="xxxxx"/>
<param name="password" value="xxxxx" />
<param name="SERVICENAME" value="wincis" />
</driver>
<mapping href="mapping.xml" />
</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]
-------------------------------------------------