Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 » UltraLite - Database Management and Reference » Implementing an UltraLite solution


Choosing an UltraLite programming interface

All UltraLite APIs expose core database functionality. Some of the following APIs integrate with the development environment to simplify programming tasks:

UltraLite APIs offer different data access models, including a simple table-based data access interface and dynamic SQL for more complex queries. By combining these benefits, UltraLite gives application developers a flexible architecture that allows for the creation of applications for varied deployment environments.


Pocket Builder is not supported in this version of UltraLite. Sybase PocketBuilder is not included with SQL Anywhere. Contact Sybase for details ([external link]

See also
To choose your programming interface
  1. Choose your target platform(s). UltraLite supports Palm OS, Windows Mobile, Windows XP/embedded Windows XP, and Java OS.

  2. For each platform you need to support, determine if the API supports that platform. Different APIs support different platforms. If you are doing cross-platform development, choose an API that supports all of your intended targets.

    Use this support matrix to help you quickly identify your development options.

    Deployment targets UltraLite for C/C++ and embedded SQL UltraLite.NET1 UltraLite for M-Business Anywhere2
    Palm OS version 4 + N/A version 5.0 +
    Windows Mobile CE 5.0 + CE 5.0 with .NET compact framework 2.0 version 3.0 +
    Embedded Windows XP Supported .NET framework 2.0 version 5.0 +

    Java SE (1.5 and later)

    RIM BlackBerry OS (4.1 and later)

    N/A N/A

    1 Development as an extension to Microsoft Visual Studio.NET. The driver supports ADO.NET versions 2.0.

    2 For browser-based deployments of UltraLite programming in JavaScript.

  3. Consider the effects of the following requirements, and then finalize your selection:

    SQL Anywhere compatibility   If database compatibility with SQL Anywhere is a concern, consider the following:

    • SQL Anywhere embedded SQL support provides a common programming interface for UltraLite and SQL Anywhere databases.

    • ADO.NET provides common programming models that are shared between UltraLite components and SQL Anywhere.

    Maintaining a common interface may be particularly useful on platforms such as Windows Mobile, where both databases are available. If you need to move from UltraLite to a SQL Anywhere database, you should use embedded SQL or ADO.NET to make application migration easier.


    Even though a common interface exists, good development practice dictates that you create an abstract data-access layer when writing your application.

    Simplified deployments   If simplifying your UltraLite deployment is an issue, consider programming with the M-Business Anywhere API. Your end-users can download both the UltraLite application and the database concurrently.

    Application size   If creating the smallest application footprint is a priority, you should program your application with the C/C++ API. These applications typically yield the best performance and still maintain a small application file size.

    Application performance   Each API has yields a different performance result. For example, the performance of UltraLite.NET might not be as good as the performance of UltraLite C++, and UltraLite embedded SQL might perform better than UltraLite C++.