Simba Technologies
Simba Technologies

SimbaEngine X SDK 10.1.11
Developing Drivers for SQL-Capable Data Stores

Getting Started

To get started building a custom ODBC, JDBC, OLE DB, or driver using the SimbaEngine X SDK, follow these general steps:

  1. Plan how to map your data store schema to the DSI model.
  2. Use one of the 5-Day Guides to set up your development environment.
  3. Implement your plan for translating your data store to the DSI.

Mapping Your Data Store Schema to the DSI Model

The first step is to map your data store to the DSI model. The DSI represents the data store as a series of tables and columns, and the purpose of your DSI implementation is to translate your real data store schema into the DSI representation.


The DSI represents the data store as a series of tables and columns. The purpose of your DSI implementation is to translate your data store schema into tables and columns that the DSI can understand.

The diagram below shows an example of one type of mapping. The database on the left uses an object-oriented or networked schema to store the data. However, a relational SQL execution engine cannot directly use this schema.

If you represent the same database as tables and columns, even though you do not actually transform the database into this new form, it fits the relational paradigm. Now you can write a DSI implementation to create this view of the data and SimbaEngine X SDK can use the SQL Engine to execute SQL queries against it. In this way, any database you can represent as tables and columns can be accessed by SimbaEngine and made accessible to applications and reporting tools.

Relational applications, or applications that can access relational databases, cannot access the networked data store on the left, because it is not a relational database. Once you translate the data store to use tables and columns, as shown in the data store on the right, relational applications can use the SQL Engine to send SQL queries to it. Simba SQLEngine works with tabular database schema (but not non-tabular database schema).

Using Virtual Tables

It might be tempting to create a tabular view of your data store by reading the entire database into temporary tables, and accessing these tables through the DSI. However, this is inefficient and only works for very small databases. A more efficient method is to create virtual tables and then access the original database when the SimbaEngine X SDK requests data through the DSI.


Related Links

Build a Driver in 5 Days

SimbaEngine X SDK FAQ