Hi Christian,

you are right that the line should be in the try-catch. This is just a leftover 
from my various debugging attempts. This is also true for the commented 
endTransaction() call.

Talking about the configuration problem:
Do you have an idea what kind of iBatis configuration parameter I could be 
missing?
Because if I do the same thing with pure JDBC it is working.

Thank you for your comments.


-------- Original-Nachricht --------
Datum: Tue, 20 Jun 2006 14:19:20 -0400
Von: Poitras Christian <[EMAIL PROTECTED]>
An: [email protected]
Betreff: RE: Data not commited to DB2

> I believe that your code line
>   Integer
> moKey2=(Integer)myConnection.insert("createCustomerOrderBase_MenuOrder",cok);
>           log.debug("createCustomerOrderBase_MenuOrder: created entry with id
> "+moKey2);
> should be in the try catch block with other inserts.
> If the other inserts does not work, then you might have the problem your
> are talking about.
> 
> Also take note that code line
> myConnection.endTransaction();
> must not be commented.
> 
> Hope that helps.
> Christian
> 
> -----Original Message-----
> From: Torsten Michelmann [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, 20 June 2006 10:15
> To: [email protected]
> Subject: Data not commited to DB2
> 
> Hi,
> 
> I have a problem with insert statements on DB2 8.1 using the current
> iBatis release.
> The problem is that they are executed without error but when I query the
> DB I don't see any of the entries.
> 
> I strongly assume that it is a configuration problem, but I have spend a
> couple of hours staring at the configuration and cross-checking with the DTD
> without success.
> 
> What is particulary irritating to me is the fact that the call outside the
> transaction was persisted ONCE to the database, all further calls to the
> method did not yield any change on the table.
> The auto generated keys are incremented and iBatis returns the generated
> id's (proven by the debug statements inside my DAO code) but I just can't
> find them on the table.
> 
> Your help is highly appreciated.
> 
> ***my personal DAO***
> public class MomDAO extends BaseDAO {
>       Logger log=Logger.getLogger(MomDAO.class);
>     public SqlMapClient getSqlMapClient() {
>         SQLMapConfigMOM t = new SQLMapConfigMOM();
>         return t.getSqlMapInstance();
>     }
> 
>     public CustomerOrder createCustomerOrder(final CustomerOrderKey cok)
> throws SQLException {
>         SqlMapClient myConnection=getSqlMapClient();
>         Integer
> moKey2=(Integer)myConnection.insert("createCustomerOrderBase_MenuOrder",cok);
>           log.debug("createCustomerOrderBase_MenuOrder: created entry with id
> "+moKey2);
>         try {
>             myConnection.startTransaction();
>                   //Step 1.1
>                   Integer
> moKey=(Integer)myConnection.insert("createCustomerOrderBase_MenuOrder",cok);
>                   log.debug("createCustomerOrderBase_MenuOrder: created entry 
> with id
> "+moKey);
>                   int newKey=moKey.intValue();
>                   //Step 2
>                   Object
> custOrderId=myConnection.insert("createCustomerOrderBase_CustomerOrder",cok);
>                   log.debug("createCustomerOrderBase_CustomerOrder: created 
> entry with
> id "+(Integer)custOrderId);
>           myConnection.commitTransaction();
>         }
>         finally  
>         {
> //            myConnection.endTransaction();
>         }
>           
>           CustomerOrder co=new CustomerOrder();
>           //TODO: load and return complete Customer Order
>         return co;
>     }
> }
> 
> 
> ***SQLMapConfig.xml***
> 
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE sqlMapConfig     
> PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
> "http://ibatis.apache.org/dtd/sql-map-config-2.dtd";>
> <!-- Always ensure to use the correct XML header as above! -->
> <sqlMapConfig>
>       <settings 
>               cacheModelsEnabled="false" 
>               enhancementEnabled="true" 
>               errorTracingEnabled="true"
>               lazyLoadingEnabled="true" 
>               maxRequests="32"
>               maxSessions="10" 
>               maxTransactions="5" 
>               useStatementNamespaces="false" 
>               />
>       <transactionManager type="JDBC" commitRequired="true">
> 
>               <dataSource type="SIMPLE">
>                       <property name="JDBC.Driver" value="${driver}" />
>                       <property name="JDBC.ConnectionURL" value="${url}" />
>                       <property name="JDBC.Username" value="${username}" />
>                       <property name="JDBC.Password" value="${password}" />
>               </dataSource>
>       <sqlMap resource="SqlMap.xml" />
> </sqlMapConfig>
> 
> 
> ***sqlMap.xml***
> <?xml version="1.0" encoding="UTF-8" ?>
> <!DOCTYPE sqlMap      PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"  
>    "http://ibatis.apache.org/dtd/sql-map-2.dtd";>
> <sqlMap namespace="myNamespace">
>       <insert id="createCustomerOrderBase_MenuOrder"
> parameterClass="CustomerOrderKey">
>               <![CDATA[
>                       INSERT INTO MENU.MENUORDER 
>                       ( SEGMENT, SAISON, MODULE_ID,IS_MOM,VERSION) 
>                       VALUES (#collectionKey.segmentId#, 
> #collectionKey.seasonId#,
> #moduleKey.moduleId#,0,1);
>               ]]>
>               <selectKey keyProperty="objectId" 
> resultClass="java.lang.Integer" >
>                       <include refid="getGeneratedKey"/>
>               </selectKey>
>       </insert>
>       <insert id="createCustomerOrderBase_CustomerOrder"
> parameterClass="CustomerOrderKey">
>               <![CDATA[
>                       INSERT INTO MENU.CUSTOMERORDER
>                       ( MENUORDER_ID, CUSTOMER_ID, ORDERID) 
>                       VALUES (#objectId#, #customerId#, #orderId#);           
>         
>               ]]>
>               <selectKey keyProperty="objectId" 
> resultClass="java.lang.Integer" >
>                       <include refid="getGeneratedKey"/>
>               </selectKey>
>       </insert>       
>       
> </sqlMap>
> 
> 
> 
> 
> --
> Greetings
> Torsten
> 
> Echte DSL-Flatrate dauerhaft für 0,- Euro*!
> "Feel free" mit GMX DSL! http://www.gmx.net/de/go/dsl

-- 
Gruß
Torsten Michelmann

Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

Reply via email to