UltraLite Embedded SQL User's Guide
Introduction to Embedded SQL
UltraLite provides several programming interfaces, including both static development models (of which embedded SQL is one) and UltraLite components. Many of the benefits and disadvantages of embedded SQL are shared with the UltraLite static C++ API.
Embedded SQL has the following advantages:
Small footprint database As embedded SQL uses an UltraLite database engine compiled specifically for each application, the footprint is generally smaller than when using an UltraLite component, especially for a small number of tables. For a large number of tables, this benefit is lost.
High performance Combining the high performance of C and C++ applications with the optimization of the generated code, including data access plans, makes embedded SQL a good choice for high-performance application development.
Extensive SQL support With embedded SQL you can use a wide range of SQL in your applications.
Embedded SQL has the following disadvantages:
Knowledge of C or C++ required If you are not familiar with C or C++ programming, you may wish to use one of the other UltraLite interfaces. UltraLite components provide interfaces from several popular propgramming languages and tools.
Complex development model The use of a reference database to hold the UltraLite database schema, together with the need to preprocess your source code files, makes the embedded SQL development process complex. The UltraLite components provide a much simpler development process.
SQL must be specified at design time Only SQL statements defined at compile time can be included in your application. The UltraLite components allow dynamic use of SQL statements.
The choice of development model is guided by the needs of your particular project, and by the programming skills and experience available.