Simba Technologies is the leading supplier of standards-based data access and analytics solutions. We hope that we are able to answer your questions below. If you cannot find the answer, please contact us at

SimbaEngine SDK

What is SimbaEngine SDK?

SimbaEngine SDK is a Software Development Kit (SDK) for developing fully-featured, optimized ODBC Drivers, JDBC Drivers, ADO.NET Providers and OLE DB data connectivity for any SQL-enabled or non-SQL data store. SimbaEngine SDK’s documentation provides you with comprehensive information to rapidly develop a prototype data driver, which can then be extended to include additional functionality and optimizations.

How do I build an ODBC Driver using SimbaEngine ODBC SDK?

You can build a prototype ODBC Driver using SimbaEngine ODBC SDK within five days. Use our Quickstart sample driver and one of our “5-Day Guides” for ODBC, JDBC or ADO.NET to accelerate the development process according to the requirements of your data store. You can quickly build a prototype read-only ODBC Driver, then add further functionality to your ODBC Driver. You can continue working with your original prototype ODBC Driver to prepare it for distribution and, if you want, add advanced functionality if necessary.

How do I build a JDBC Driver, ADO.NET Provider or OLE DB Provider using SimbaEngine SDK?

You can build a native JDBC Driver or ADO.NET Provider directly against your data store following SimbaEngine SDK’s comprehensive documentation. Alternatively, once you have developed an ODBC Driver using SimbaEngine ODBC SDK, you may choose to simply use the following additional components with the ODBC Driver to create either a JDBC Driver, ADO.NET Provider or OLE DB Provider.

  • Create a JDBC Driver by simply employing JDBC Client with SimbaServer.
  • Create an OLE DB Driver by simply employing OLE DB Client with SimbaServer.
  • Create an ADO.NET Data Provider by simply employing the ADO.NET Client with SimbaServer.

How long will it take to build my ODBC Driver with SimbaEngine ODBC SDK?

Our ODBC SDK enables our customers to develop a proof-of-concept ODBC Driver within five days with the ability to add advanced functionality after that. Building a high-performance, commercial quality ODBC connectivity solution is done quickly and easily using our comprehensive SDK, which includes:

  • A fully-operational ODBC codebase sample driver to quickly and efficiently learn how to code an ODBC Driver;
  • Simba “Quickstart” template to quickly and easily connect SimbaEngine ODBC SDK to your SQL or non-SQL data store, enabling you to quickly create a prototype ODBC Driver;
  • Our extensive, professional, technical documentation, providing all the thorough and comprehensive information needed to support development efforts, including optimization;
  • Simba’s powerful, flexible, multi-user ODBC/SQL processor;
  • Ready to use, high-performance client-to-server networking components, available to quickly and easily extend your solution.

How do I test my ODBC Driver?

What applications can connect to an ODBC driver built using SimbaEngine ODBC SDK?

Any application with ODBC connectivity will connect to an ODBC driver built with SimbaEngine ODBC SDK. Your ODBC driver will work with all ODBC-based applications, such as Excel, Microsoft Power BI, MicroStrategy, SAP Cloud for Analytics, QlikView, Tableau, and others.

What SQL conformance level does SimbaEngine SDK provide?

ODBC specifies three levels of SQL grammar conformance: Minimum, Core and Extended. Each higher level provides more fully-implemented data definition and data manipulation language support. SimbaEngine SDK fully supports Core DML SQL grammar, as well as many Extended grammars.

Does SimbaEngine SDK provide support for dynamic schemas and metadata?

Unique to SimbaEngine SDK, you can build an interface to derived data, dynamic metadata and “in-memory” data. SimbaEngine SDK is the only toolkit that gathers this information at query time, enabling you to determine and support changes to your schema.

Is SimbaEngine SDK client-server enabled?

Simba’s client-server toolkit provides our universal ODBC and JDBC thin-client drivers, a proprietary network transport layer and a server component. The components are combined with the ODBC Driver code that you develop using our ODBC SDK; no network gateway or client-side programming is required. Our Simba thin-clients greatly reduce configuration issues on the desktop, while providing robust, centralized server-side deployment. Simba’s network transport layer is designed to provide high-performance data access over the LAN, WAN, or Internet.

What about my future connectivity requirements?

Even if you are currently only seeking ODBC connectivity through a native ODBC interface to your proprietary database, you may also want the flexibility to easily and quickly adopt a JDBC Driver, ADO.NET Provider or OLE DB Provider in the future. SimbaEngine SDK is a complete toolkit for building an ODBC Driver to provide both ODBC and JDBC, as well as OLE DB and ADO.NET access to your existing database, enabling you to take full advantage of any of the newer development platforms you may consider. If you choose to migrate to a different database server in the future, you can quickly and efficiently leverage the investment made in your ODBC Driver by reusing your ODBC-enabled shell with a new or upgraded database.

How can I take advantage of my existing database's performance strengths?

You can do this with Simba’s unique Collaborative Query Execution feature, which allows your data store to execute any part of a SQL query. Simba SQL Engine’s unique Collaborative Query Execution takes full advantage of your data store’s special processing capabilities and strengths by allowing your data store to execute any part of any SQL query. Simba SQL Engine will not execute the parts of the query that your data store is handling. Instead, Simba SQL Engine will execute the remaining parts of the query and combine into a single result set its own results and the results from your data store. Many non-SQL data stores can perform table filtering or aggregation very quickly, as part of their end-user value. Collaborative Query Execution allows your data store to continue to deliver this high-value performance as part of complete SQL query processing. Pass-down filters and pass-down aggregations are two specific examples of this functionality. This feature can be especially valuable if the data store is being accessed across a network connection. With fewer results-set rows returned to Simba SQL Engine, the query processing doesn’t wait for data and the final result set is returned to the user sooner. Additionally, if you have support for indexes within your data source, the SimbaEngine SDK can make use of these indexes to speed up the performance of many different types of SQL operations with little additional work.

What is the cost of ownership?

After your ODBC Driver, JDBC Driver, ADO.NET Provider or OLE DB Provider is complete, SimbaEngine SDK continues to save you development time. When you build a data driver using SimbaEngine SDK, you don’t have the headache of rewriting your driver every time specifications change. We provide our customers with updates that add functionality to your data driver. We provide the upgrade path to new versions of the ODBC specification, as well as to other technologies, such as JDBC, OLE DB, XML data streaming and ADO.NET.

How can I evaluate SimbaEngine SDK?

The only true way to effectively evaluate our software is to evaluate it in your environment. We provide you with our complete SimbaEngine SDK Evaluation Software and a dedicated support team to assist you throughout the evaluation effort at no cost. Your development team will work closely with the Simba Technical Support team to ensure that your evaluation criteria are met and your efforts are successful. Download a 20-day evaluation of SimbaEngine SDK.

How can I obtain more information about SimbaEngine SDK?

For more information about SimbaEngine SDK, check product page or contact us.

SimbaProvider SDK

What is SimbaProvider SDK?

SimbaProvider SDK is a Software Development Toolkit (SDK) for building an OLE DB for OLAP (ODBO) Provider or a XML for Analysis (XMLA) Provider for your multi-dimensional or star schema relational data store.

Conventionally, building a data provider from scratch requires senior programmers experienced in ODBO, XMLA, as well as MDX. Building a data provider without an SDK is a long development process, requiring extensive knowledge/programming and testing/debugging with consumer applications.

SimbaProvider SDK significantly reduces the time and effort and protects your development investment. Using our OLAP SDK, you can have a finished ODBO Provider or XMLA Provider that works in the real world with popular applications at a fraction of the cost and development time. SimbaProvider SDK enables the development of robust 32-bit and 64-bit ODBO Providers and XMLA Providers (Java-based and .NET-based XMLA Providers), ensuring the utmost in interoperability and cross-platform enabled solutions.

How do I build an OLE DB for OLAP (ODBO) Provider and/or XML for Analysis (XMLA) Provider using SimbaProvider SDK?

Your first task is to decide on whether you wish to build an OLE DB for OLAP (ODBO) Provider or a XML for Analysis (XMLA) Provider. Because SimbaProvider SDK supports both ODBO and XMLA, you only need to develop a single implementation layer that can be used in either type of data provider. Once you have made this decision, simply follow the steps required to develop your ODBO Provider or XMLA Provider, as outlined in our comprehensive documentation, with the assistance of Simba’s support.

How long will it take to build an OLE DB for OLAP (ODBO) Provider or XML for Analysis (XMLA) Provider using SimbaProvider SDK?

Our customers can typically develop a production quality, read-only data provider in about six to 12 person-months, depending on the complexity of the underlying data source.

What are the technical benefits of SimbaProvider SDK?

SimbaProvider SDK provides solutions for the more difficult areas in implementing an ODBO Provider or XMLA Provider, making it easy for you to develop a robust data provider.

1. Dataset (Rowset) Flattening – Technically optional, Dataset flattening is required in order to work with certain consumer applications. Data flattening requires joining axis info tables and dataset cell information. The flattened dataset provides a quick and easy method for rowset-based consumer applications, such as Microsoft Excel, to display multi-dimensional data.

2. Asynchronous Execution and Rowset Population Support – Asynchronous Execution and Rowset Population requires the close coordination of several interfaces, (IRowset, ICommand, IAsynchStatus, and IConnectionPointContainer), as well as overall thread safety and thread scheduling/handling. This requires a good design and expert threading experience to implement. Without proper asynchronous execution, applications reading the data may otherwise appear slow and ill-behaved to your end-users. SimbaProvider SDK supports Asynchronous Execution and Rowset Population.

3. Full Fledged MDX Engine – Simba’s 32-bit and 64-bit MDX 2005 Engines have the ability to parse, resolve and evaluate MDX queries. They support the latest MDX 2005 enhancements to ensure utmost interoperability, including compatibility with the newest applications. The MDX language is otherwise very difficult to implement. Specifically, it is much more complex than SQL. Parsing MDX is very difficult because of its many keywords and ambiguities. SimbaProvider SDK makes implementing MDX functionality easy because it contains a full MDX 2005 Engine and its backed by Simba’s commitment to keeping pace as technologies evolve.

4. Caching – Many applications access datasets one cell at a time. This is extremely inefficient and caching is highly desirable. Because datasets are multi-dimensional and can be quite large, dataset read-ahead and caching requires sophisticated algorithms to pre-calculate and retrieve those areas of the cube that are most likely to be retrieved next. SimbaProvider SDK implements caching and allows you to custom extend this caching, if desired.

For additional information, please refer to the Features page.

Does Simba offer development services to create an OLE DB for OLAP (ODBO) Provider or XML for Analysis (XMLA) Provider?

Absolutely. Simba can provide consulting expertise throughout the development cycle for your data provider. For more information on the solutions offered by Simba, see our Data Driver Development Services.

What is the history of XML for Analysis (XMLA)?

The XMLA Council – chaired by Hyperion, Microsoft and SAS – was formed in 2001, shortly after the specification was first proposed. The Council is made up of a number of leading Business Intelligence and Business Performance Management software vendors that have announced their support and backing of XMLA. Simba is a member of the XMLA Council and chairs a Special Interest Group (SIG) on MDX Leveling and InterOperability/Conformance. Visit for more information and history on XML for Analysis (XMLA).

What is the history OLE DB for OLAP (ODBO)?

Microsoft recognized a rapid growth in multi-dimensional databases and on-line analytical processing (OLAP) tools. After all, people don’t think in two dimensions. Real world questions like, “How were last year’s monthly revenues broken down by store affected by back-order problems?” are more naturally handled by a multi-dimensional datastore than by a two-dimensional relational model.

As with all information-based technologies, your customers want to be able to access these multi-dimensional datastores and tools from popular desktop applications. The OLE DB for OLAP (ODBO) API has become the defacto standard for accessing multi-dimensional data. Coinciding with the availability of Excel 2010, Microsoft has defined a 64-bit ODBO interface specification as well. Visit for more information and history on OLE DB for OLAP (ODBO).

What is the cost of ownership for SimbaProvider SDK?

After your ODBO Provider or XMLA Provider is complete, SimbaProvider SDK continues to save you development effort in the future. When you build a data provider using SimbaProvider SDK, you do not have to worry about rewriting the data provider every time the ODBO or XMLA specifications change. We provide our customers with timely and regular updates that add functionality to your data provider. We provide the upgrade path to new versions of the ODBO and XMLA specifications.

How can I obtain more information about SimbaProvider SDK?

For more information about SimbaProvider SDK, check product page or contact us.