cancel
Showing results for 
Search instead for 
Did you mean: 

MinDB: java.sql.SQLException: Statement is closed

Former Member
0 Kudos

Hello,

I am trying to run my mobile application on PDA with Windows Mobile 5.0.

I installed Creme JVM 4.12, pda_runtime_wince, mindb and pda_eswt_container.

Then I synchronize for the first time, device is registered, my mobile component properly installed. I triggered extracts to push the download, checked logs and traces in monitoring and everything is correct there.

Synchronization finished successfully, logs say that messages are acknowledged, but there is no data in MinDB (I checked with DBVisualizer).

There is only one error message I see in mobile logs:

<r id="1268077043398" t="19:37:23" d="2010-03-08" s="E" c="000" u="PJN" g="en" m="java.sql.SQLException: Statement is closed">
<f n="LocationName" v=" (com.sap.tc.mobile.cfs.pers.PersistenceManagerImpl:execute)"/>
<f n="ThreadName" v="Thread-40"/>
</r>

When I switched tracing to debugging mode I see that this error appears after UPDATE and DELTE statements on the database:

<r id="1268081151332" t="20:45:51" d="2010-03-08" s="D" c="000" u="PJN" g="en" m="UPDATE CFS_COUNTER SET C_VALUE = 65 WHERE C_ID = 2">
<f n="LocationName" v=" (com.sap.tc.mobile.cfs.pers.PersistenceManagerImpl:execute)"/>
<f n="ThreadName" v="Thread-28"/>
</r>
<r id="1268081151568" t="20:45:51" d="2010-03-08" s="E" c="000" u="PJN" g="en" m="java.sql.SQLException: Statement is closed">
<f n="LocationName" v=" (com.sap.tc.mobile.cfs.pers.PersistenceManagerImpl:execute)"/>
<f n="ThreadName" v="Thread-28"/>
</r>

<r id="1268081155181" t="20:45:55" d="2010-03-08" s="D" c="000" u="PJN" g="en" m="DELETE FROM CFS_IN_Q WHERE MSG_ID = 65">
<f n="LocationName" v=" (com.sap.tc.mobile.cfs.pers.PersistenceManagerImpl:execute)"/>
<f n="ThreadName" v="Thread-28"/>
</r>
<r id="1268081155193" t="20:45:55" d="2010-03-08" s="E" c="000" u="PJN" g="en" m="java.sql.SQLException: Statement is closed">
<f n="LocationName" v=" (com.sap.tc.mobile.cfs.pers.PersistenceManagerImpl:execute)"/>
<f n="ThreadName" v="Thread-28"/>
</r>

I reinstalled it all many times and each time it is the same (tried with installations patch level 08 and 09).

Can anyone help, please?

Thanks,

Piotr

Accepted Solutions (1)

Accepted Solutions (1)

christoph_kurtz2
Participant
0 Kudos

Hi Piotr!<br>

<br>

In our trace-file, these statements are also displayed but our data tables are filled as required. So I don't think that these two things are related to each other.<br>

Please check with DBVisualizer if there are entries in the table CFS_IN_Q. All messages which comes from DOE arrives in this table first. Then, the entries of this table will be processed and the data objects will be allocated to their data tables and the entry is deleted from CFS_IN_Q. If there are still messages in this table after the synchronization is finished, an error while data processing occurs.<br>

<br>

Please check the table CFS_IN_Q and post the result.<br>

<br>

Best regards,<br>

<br>

Christoph

Former Member
0 Kudos

Hi Christoph,

I checked table CFS_IN_Q and there are indeed two rows with bulk messages that contain all the data that I expected from DOE:

<?xml version="1.0" encoding="utf-8"?><Msg type="B"><ROW C5="PJN" C3="BOHNSTEDT" C2="2004-01-23" 
C1="000000000000000002" CB="1" CF="EA" C9="ROH" C7="K" C0="0050569F65D51DEF8AD822BB81D45B86" C6="K" 
tv="0050569F65D51DEF8AD821B8D38D7B86"/> +(..all other rows data.. )+ </Msg>

However I do not see any more error messages besides these Statement is closed + some missing ResourceBundle Keys (it should have nothing to do with it right?):

<r id="1268075604857" t="19:13:24" d="2010-03-08" s="E" c="000" u="PJN" g="en" m="Can&apos;t find resource for bundle java.util.PropertyResourceBundle, key SYNC_DISCONNECT">
<f n="LocationName" v=" (com.sap.tc.mobile.logging.MsgObject:getMsgText)"/>
<f n="ThreadName" v="Thread-57"/>
</r>

Do you have any idea why they are not processed?

Kind regards,

Piotr

christoph_kurtz2
Participant
0 Kudos

Hi Piotr!<br>

<br>

Based on my own experience, I have an idea which could help you resolving the issue.<br>

I updated a data object on DOE, but these changes were not reflected in NWDS. The problem was, that the guid of the DO on NWDS and on DOE were different. But this guid is responsible for the correct allocation of an incoming message from the DOE to the table of the DO. That is the reason, why the message could not be processed. For further information regarding this subject, refer to

<br>

I assume that a similar problem happens with your application. You can check this by comparing the guid's of the data object on DOE and on NWDS.<br>

<br>

I hope that my explanation is understandable and that it helps you resolving the issue.<br>

<br>

Best regards,<br>

<br>

Christoph

Former Member
0 Kudos

Hi Christoph,

The GUIDs were different and this was exactly the problem. I reimported the model, rebuilt and redeployed everything and it works now.

Thanks a lot!

Best regards,

Piotr

Answers (0)