オープン・データベース・コネクティビティ(Open Database Connectivity、ODBC)は、異種データベース間のデータ共有を解決するために生まれ、現在ではWOSA(The Windows Open System Architecture)、すなわちWindowsオープンシステムアーキテクチャの主要な部分となり、Windows環境に基づくデータベースアクセスインターフェースの標準となっています。ODBCは異種データベースへのアクセスに統一されたインターフェースを提供し、アプリケーションがSQLをデータアクセスの標準として使用し、異なるDBMSが管理するデータにアクセスできるようにします。これにより、アプリケーションはデータベース内のデータを直接操作でき、データベースの変更に伴う変更を回避できます。ODBCを使用することで、さまざまなコンピュータ上のデータベースファイルにアクセスできるだけでなく、ExcelシートやASCIIデータファイルなどの非データベースオブジェクトにもアクセスできます。
OceanBase Connector/ODBCはMySQL ODBCドライバーを基にカスタマイズ開発されており、このドライバーを使用することでOceanBaseデータベースが提供する新しいデータ型(例:Array型)を利用できます。OceanBase Connector/ODBCのアプリケーションアーキテクチャは以下の図のとおりです。

Application
Applicationは標準ODBC APIを使用してOBServerノードからデータにアクセスします。ODBC APIはさらにドライバーマネージャーと通信します。Applicationはデータソース名(DSN)を知っているだけでよく、データがどこに保存され、どのように保存され、システムがどのように構成されているかを理解する必要はありません。これにより、データにアクセスできます。
ODBCを使用する際、以下のタスクはすべてのアプリケーションに共通しています:
OBServerノードを選択し、接続します。
SQLステートメントを送信して実行します。
結果を取得します(結果がある場合)。
エラーを処理します。
SQLステートメントを含むトランザクションをコミットまたはロールバックします。
OBServerノードとの接続を切断します。
ほとんどのデータアクセス作業はSQLを使用して行われるため、OceanBase Connector/ODBCを使用するアプリケーションの主なタスクは、SQLステートメントを送信し、それらのステートメントによって生成された結果を取得することです。
Driver Manager
Driver Managerは、アプリケーションとドライバー間の通信を管理するためのライブラリです。主に以下のタスクを実行します:
データベース接続用のデータソース名(DSN)を解析します。データベース接続情報はDSNによって識別されます。DSNは設定文字列であり、指定されたデータベースドライバー、データベース、データベースホスト、およびオプションの認証情報を識別します。任意のODBC互換アプリケーションは、事前に設定された同じDSNを使用してデータソースに接続できます。
DSNで定義されたデータベースにアクセスするために必要なドライバーをロードおよびアンロードします。例えば、OceanBaseデータベースへの接続用DSNを設定した場合、Driver ManagerはOceanBase Connector/ODBCドライバーをロードし、ODBC APIがOBServerノードと通信できるようにします。
ODBCの関数呼び出しを処理するか、ドライバーに渡します。
OceanBase Connector/ODBC
OceanBase Connector/ODBCドライバーは、ODBC APIがサポートする関数を実装したライブラリです。ODBC関数呼び出しを処理し、OBServerノードにSQLリクエストを送信し、結果をアプリケーションに返します。また、必要に応じてアプリケーションのリクエストを変更し、OceanBaseデータベースの構文仕様に適合させることができます。
ODBC.INI
ODBC.INI設定ファイルには、サーバーへの接続に必要なドライバーとデータベース情報が格納されています。ODBC.INI内のDSN定義に基づき、Driver Managerはロードするドライバーを特定し、ドライバーは接続パラメータを読み取ります。
OBServerノード
OBServerノードはOceanBaseデータベースの情報を格納します。クエリ操作はデータベースからデータを取得し、挿入および更新操作はデータベース内のデータに作用します。