Menu
Simba Technologies
Simba Technologies

SimbaEngine X SDK 10.1.3
Developing Drivers for Data Stores Without SQL

SimbaEngine X SDK Documentation > Overview > Sample Drivers and Projects

Sample Drivers and Projects

The SimbaEngine X SDK includes a number of sample drivers and sample driver projects to help you get started quickly with your custom ODBC or JDBC driver. The compiled C++ sample drivers are in the Examples\Builds\Bin folder of your SimbaEngine X SDK installation directory, the compiled Java sample drivers are in Examples\Builds\Lib, and the sample driver projects are in Examples\Source.

Note:

This guide explains how to build a driver for data stores that do not support SQL. If you want to build a driver for data stores that support SQL, see Developing Drivers for SQL-capable Data Stores.

Getting Started with the Sample Driver Projects

The sample driver projects are a great way to get started developing your custom driver. Each sample driver is accompanied by a 5-Day Guide, which walks you through the steps of building, configuring, and customizing the project.

For information on how to use the sample driver projects, see 5 Day Guides at http://www.simba.com/resources/sdk/documentation/.

The following sections describe each of the sample driver projects and sample drivers.

Quickstart Sample Driver

C++

Not SQL-Capable

ODBC

Quickstart is a C++ sample DSI implementation of an ODBC driver that reads text files in tabbed Unicode text format. This is not a SQL aware data source, so the Simba SQLEngine component is employed to perform the necessary SQL processing. This sample’s purpose is to provide a simple, working driver that you can copy and transform into a driver that accesses your non-SQL data store. An ODBC configuration DLL is included.

The 5-Day Guide for the Quickstart sample driver project is located at 5 Day Guides at http://www.simba.com/resources/sdk/documentation/ under the section "Build a C++ ODBC Driver in 5 Days". Select one of the guides for a non-SQL-based data source.

DotNetQuickstart Sample Driver

C#

Not SQL-Capable

ODBC

DotNetQuickstart is a C# sample DSI implementation that is the same as the Quickstart sample above, except that it is written in C# using Simba’s C++ to C# bridge API (also referred to as the CLIDSI API). See the document, “Build a C# ODBC Driver in 5 Days” for a step-by-step walk-through of the process of creating a custom ODBC driver using C#.

JavaQuickstart Sample Driver

Java

Not SQL-Capable

ODBC

JavaQuickstart is a Java sample DSI implementation that is the same as the Quickstart sample, except that it is written in Java using Simba’s C++ to Java bridge API (also referred to as the JNIDSI API). See the document “Build a Java ODBC Driver in 5 Days” for a step-by-step walk-through of the process of creating a custom ODBC driver using Java.

Ultralight Sample Driver

C++

SQL-Capable

ODBC

Ultralight is a sample driver that illustrates how to build a DSII for a database that already supports SQL and therefore does not require the SQLEngine component.

The Ultralight example does not truly support SQL; rather, it simply looks for keywords in the query and returns a hardcoded result set. Nevertheless, this is sufficient to show all the necessary building blocks and provide a placeholder where your real SQL processing and result set generation could take place.

The 5-Day Guide for the Ultralight sample driver project is located at 5 Day Guides at http://www.simba.com/resources/sdk/documentation/ under the section "Build a C++ ODBC Driver in 5 Days". Select one of the guides for a SQL-based data source.

DotNetUltralight Sample Driver

C#

SQL-Capable

ODBC

DotNetUltralight is a C# sample DSI implementation that is the same as the Ultralight sample above, except that it is written in C#. DotNetUltralight can be built using either Simba.ADO.NET or using Simba’s C++ to C# bridge API (also referred to as the CLIDSI API). When using Simba.ADO.NET, the resulting driver will be written entirely in C#, providing an ADO.NET interface. When using Simba’s C++ to C# bridge API, the resulting driver will be a mixture of C# and C++, providing an ODBC interface or SimbaServer executable for use with any of the SimbaClient drivers.

JavaUltralight Sample Driver

Java

SQL-Capable

JDBC

ODBC

JavaUltralight is a Java sample DSI implementation that is the same as the Ultralight sample above, except that it is written in Java. JavaUltralight can be built using either SimbaJDBC or using Simba’s C++ to Java bridge API (also referred to as the JNIDSI API). When using SimbaJDBC, the resulting driver will be written entirely in Java, providing a JDBC 4.0, 4.1, or 4.2 interface. When using Simba’s C++ to Java bridge API, the resulting driver will be a mixture of Java and C++, providing an ODBC interface or SimbaServer executable for use with any of the SimbaClient drivers.

The 5-Day Guide for the JavaUltralight sample driver project is located at 5 Day Guides at http://www.simba.com/resources/sdk/documentation/ under the section "Build a JDBC Driver in 5 Days". Select the guide for a SQL-based data source.

JavaQuickJson Sample Driver

Java

Not SQL-Capable

JDBC

ODBC

JavaQuickJson is a sample Java DSI imlplementation written purely in Java to demonstrate usage of the Java Simba SQLEngine. The driver accesses a data store comprised of JSON files and uses a third party JSON API to read and write data to those files. By including the Java Simba SQLEngine, the driver demonstrates how to implement some of the classes specific to the Java Simba SQLEngine and how the Java Simba SQLEngine can be used to access a data store that is not organized using traditional tables and columns.

The 5-Day Guide for the JavaQuickJson sample driver project is located at 5 Day Guides at http://www.simba.com/resources/sdk/documentation/ under the section "Build a JDBC Driver in 5 Days". Select the guide for a non-SQL-based data source.

Using the Sample Drivers for Debugging

You can use the sample drivers to analyze and debug suspected problems in your custom driver. For example, if you think your DSI implementation is working correctly but there is a problem in your SimbaEngine X SDK system, there is a simple way to determine where the problem lies. If the problem shows up when you run the system you have assembled with the sample driver project implementation, then the problem is likely to be in SimbaEngine X SDK components.

If the problem goes away when you replace your DSI implementation with the sample driver project, then you need to do some more investigation of your implementation. In either case, analysis and debugging is focused and reduced, lowering your cost to deliver a solution to your customers

 

Related Links