Skip to content

Odbc驱动

1.概述

Ignite 3 内置了 ODBC 驱动,可以使用标准 SQL 和原生 ODBC API 检索和修改存储在 Ignite 中的数据。ODBC 驱动使用客户端连接器来与集群交互。

ODBC 驱动仅在连接级别提供线程安全,即在没有额外同步的情况下,不应从多个线程访问同一连接,不过可以为每个线程创建单独的连接并同时使用。

ODBC 驱动实现了 ODBC API 版本 3.8,具体请参见 ODBC 开发者参考

2.安装ODBC驱动

要使用 ODBC 驱动,需要先在系统中注册,以便 ODBC 驱动管理器能够找到它。

2.1.在Windows上安装

2.1.1.环境要求

需要安装 Microsoft Visual C++ 2017 Redistributable 包。

2.1.2.安装过程

启动提供的安装包并按照说明进行操作。

2.2.配置集群

ODBC 驱动使用客户端连接器来操作集群,事先要配置规划好的端口:

node config update clientConnector.port=10469

客户端连接器的配置方法,请参见客户端连接器配置的相关章节。

2.3.在Linux上安装

要在 Linux 上构建和安装 ODBC 驱动,需要先安装 ODBC 驱动管理器,ODBC 驱动已经过 UnixODBC 测试。

2.3.1.环境要求

首先安装以下内容:

2.3.2.从网站下载

可以从官网下载已构建的 rpm 或 deb 包,然后在本地安装该软件包。

3.支持的数据类型

支持以下 SQL 数据类型:

  • 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

4.使用pyodbc

Ignite 支持 pyodbc ,以下是在 Ignite 3 中使用 pyodbc 的方法:

  • 安装 pyodbc;
    shell
    pip3 install pyodbc
  • 将 pyodbc 导入到项目中:
    python
    import pyodbc
  • 接入数据库:
    python
    conn = pyodbc.connect('Driver={Apache Ignite 3};Address=127.0.0.1:10800;')
  • 将编码设置为 UTF-8:
    python
    conn.setencoding(encoding='utf-8')
    conn.setdecoding(sqltype=pyodbc.SQL_CHAR, encoding="utf-8")
    conn.setdecoding(sqltype=pyodbc.SQL_WCHAR, encoding="utf-8")
  • 从数据库中检索数据:
    python
    cursor = conn.cursor()
    cursor.execute('SELECT * FROM table_name')

有关使用 pyodbc 的更多信息,请参见官方文档

18624049226