GridGain Developers Hub

ODBC Driver

Overview

GridGain 9 includes an ODBC driver that allows you both to select and to modify data stored in a distributed cache by using standard SQL queries and native ODBC API. ODBC driver uses your client connection configuration.

ODBC driver only provides thread-safety at the connections level. This means that you should not access the same connection from multiple threads without additional synchronization, though you can create separate connections for every thread and use them simultaneously.

The ODBC driver implements version 3.8 of the ODBC API. For detailed information on ODBC please refer to ODBC Programmer’s Reference.

Installing ODBC Driver

To use ODBC driver, register it in your system so that your ODBC Driver Manager will be able to locate it.

Installing on Windows

Prerequisites

Microsoft Visual C++ 2017 Redistributable Package should be installed first.

Installation process

Launch the provided installer and follow the instructions.

Configuring the Cluster

ODBC driver uses the client connector to work with the cluster. Make sure to configure the port to the one you intend to use, for example:

node config update clientConnector.port=10469

For more information on configuring client connector, see Client Connector Configuration.

Installing on Linux

To build and install ODBC driver on Linux, you need to first install ODBC Driver Manager. The ODBC driver has been tested with UnixODBC.

Prerequisites

Install the following first:

Download from website

You can get the built rpm or deb package from the provided website. Then, install the package locally to use it.

Supported Data Types

The following SQL data types are supported:

  • SQL_CHAR

  • SQL_VARCHAR

  • SQL_LONGVARCHAR

  • SQL_SMALLINT

  • SQL_INTEGER

  • SQL_FLOAT

  • SQL_DOUBLE

  • SQL_BIT

  • SQL_TINYINT

  • SQL_BIGINT

  • SQL_BINARY

  • SQL_VARBINARY

  • SQL_LONGVARBINARY

  • SQL_GUID

  • SQL_DECIMAL

  • SQL_TYPE_DATE

  • SQL_TYPE_TIMESTAMP

  • SQL_TYPE_TIME

Using pyodbc

GridGain can be used with pyodbc. Here is how you can use pyodbc in GridGain 9:

  • Install pyodbc

    pip3 install pyodbc
  • Import pyodbc to your project:

    import pyodbc
  • Connect to the database:

    conn = pyodbc.connect('Driver={Apache Ignite 3};Address=127.0.0.1:10800;')
  • Set encoding to UTF-8:

    conn.setencoding(encoding='utf-8')
    conn.setdecoding(sqltype=pyodbc.SQL_CHAR, encoding="utf-8")
    conn.setdecoding(sqltype=pyodbc.SQL_WCHAR, encoding="utf-8")
  • Get data from your database:

    cursor = conn.cursor()
    cursor.execute('SELECT * FROM table_name')

For more information on using pyodbc, use the official documentation.