← All databases

Database · native ODBC

Altibase into Apache Arrow with ADBC

Altibase 7.3.0.1.4 (A+ Edition), read and written through adbcBridge — the ADBC driver that loads the database's ODBC driver — verified on Linux. Everything below is the compatibility matrix's record for this row.

Status

Linux✓ pass

PASS

macOS arm64platform

driver unavailable: Altibase publishes no macOS client (its supported-platforms list is Linux, AIX, HP-UX and a Windows-only client)

Windows x64platform

driver unavailable: Altibase's Windows ODBC client "is provided only up to Altibase version 6.5.1, and not provided to Altibase version 7 or later" (its Windows ODBC development guide), so nothing drives a 7.x server; the downloads sit behind the vendor portal in any case

Driver and connection string

ODBC driver
Altibase ODBC (libaltibase_odbc-64bit-ul64.so, native wire)
Wire
native ODBC
adbcBridge
0.1.1 (release)

The connection string the matrix used, as the connection strings reference records it (Databases with their own native protocol and ODBC driver); {drv} is the driver library or its name from odbcinst.ini, and the host, port and credentials are the test server's.

Driver={drv};Server=127.0.0.1;Port=20300;User=sys;Password=manager;NLS_USE=UTF8;

Python

import adbcbridge

# {drv}: the ODBC driver library (path), or its name from odbcinst.ini
conn = adbcbridge.connect(uri="Driver={drv};Server=127.0.0.1;Port=20300;User=sys;Password=manager;NLS_USE=UTF8;")
with conn.cursor() as cur:
    cur.execute("SELECT * FROM my_table")
    table = cur.fetch_arrow_table()      # pyarrow.Table

Polars and pandas

import polars as pl, pandas as pd

df = pl.read_database("SELECT * FROM my_table", connection=conn)   # Polars, Arrow-native
pdf = pd.read_sql("SELECT * FROM my_table", conn)                   # pandas 2.2+, ADBC connection

pip install adbcbridge brings the driver library; the Altibase ODBC driver is installed the way its vendor documents, then named in Driver=. Rust, Go, C# and Java use the same connection string through their ADBC driver managers — see the docs.

What the matrix recorded

first-party driver on 20300, linked against nothing but libc, lifted out of the server image with docker cp (-ul64 is the 8-byte-SQLLEN build unixODBC wants; the -ul32 sibling sits beside it).

What this stack needed

Read next