Device Database Page Size

Problem: For a mobile business object, the sum of the maximum sizes for attributes and parameters cannot exceed 64K; this restriction does not apply to long binary or long varchar datatypes.

If you synchronize metadata from a .NET client to create UltraLite® database tables for a mobile business object with large column sizes, you may see an error similar to Max row size of UA_10001_10002_param table exceeded. This is analogous to a SQLE_MAX_ROW_SIZE_EXCEEDED (-1132) error.

On BlackBerry UltraLite (Java) clients, you can synchronize metadata and create database tables, but you may see end of stream errors when you synchronize after an insert transaction.

Solution: To work around this problem, try one of these options:
  • Increase the page size of the device database, up to 16K. The default size is 4K. You can set the page size using either:
    • An API – see the Client Object API Cookbook 1.2 on Sybase Unwired Platform Tech Corner, or
    • The Device Application Designer – in the Flow Design Properties view.
  • Decrease the size of string datatype columns that are less than 8191 and binary datatype columns that are less than 32767.
  • For string columns with a size close to 8191, increase the size to more than 8191, so a long varchar datatype is used instead. For binary columns with a size close to 32767, increase the size to greater than 32767, so a long binary datatype is used instead.
    Note: Increasing column sizes may degrade performance.