Problem: While importing data for large columns on Windows Mobile, import for one large column succeeds, but import for an additional large columns fails with errors.
YYYY-MM-DD HH:MM:SS OnMessageException: malloc() failed out of memory at System.Data.SQLite.SQLite3.Reset(SQLiteStatement stmt) at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() at com.sybase.afx.db.SQLiteBigStringImpl.OpenForWrite(Int64 length, Boolean createPending) at end2end.rdb.Author.DealBigAttribute(JsonStreamParser _parser) at end2end.rdb.Author.StreamImportHandler(JsonStreamParser _parser) at end2end.rdb.intrnl.Author_ML.OnMessage(JsonMessage msg) at end2end.rdb.End2end_rdbDB.DispatchReceivedMessage(JsonMessage message) at end2end.rdb.intrnl.End2end_rdbDB_ML.OnMessage(JsonMessage msg) at com.sybase.sup.client.mbs.QueueConnectionImpl.OnMessage(JsonMessage message) at com.sybase.sup.client.mbs.SupHandler.HandleAsyncMethodCallFromServer(String headers, MoBinary data) at com.sybase.sup.client.mbs.SupMocaObject.Run(String strMethodName, MoParams oParams) at Sybase.MessagingClientLib.MocaObject.OnMocaRun(String sMethodName, IntPtr oParamHandle)
Explanation: This issue is specific to Windows Mobile DOE-C based applications (message based synchronization) that use the SQLite database to store data on the device. SQLite has a row size limitation of 4 - 5MB. The Mobile Business Object (MBO) cannot execute an operation because the row size limit has been reached.
Solution: None. You cannot work around this limitation from a code point of view. You may be able to solve the problem by reducing the amount of data retrieved by the MBO.