June 27, 2006
Symbian Database ComponentsLimitations
The good news is that the Symbian DBMS implementation has a tiny footprint. In spite of the tiny footprint, important features such as the ability to build and maintain multiple indexes on tables are supported. The bad news is there are some major limitations that go along with that. Probably the biggest is the lack of support for joins. If you need joins, use one of the third-party implementations, being aware of the larger footprint that entails. However, for many mobile applications, the EDBMS component actually suffices. For example, the SymbianOS communications database uses the EDBMS component. In addition to internal system databases, however, the EDBMS component is also available to third-party developers.
RDbNamedDatbase: Using the DBMS Server
To access the database server, use the RDbNamedDatabase class. This is the most common approach, and allows multiple readers/writers to connect to the same database. SymbianOS, a sophisticated operating system, fully supports preemptive multithreading, and it is not uncommon for multiple writers to want to access the same database. RDbStoreDatabase is less commonly used; it bypasses the DBMS server which is slight benefit in terms of not having the additional DBMS server layer. However, the DBMS server layer provides multi-user benefits.
Thus applications using RDbStoreDatabase only allow one writer at a time to have a particular database open. Another benefit of the less-used RDbStoreDatabase is that that class provides for the storing of other data besides tables in the same file as the database tables. Listing One is an example use of RDbNamedDatbase which lists the tables in a database.
// tables.cpp // #include "eustd.h" #include
Listing One: Tables.cpp.
|
|
||||||||||||||||||||||||||||||
|
|
|
|