オープンデータベース接続(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のアプリケーションアーキテクチャは以下の図のとおりです。

アプリケーション
アプリケーションは標準のODBC APIを使用してOBServerノードからデータにアクセスします。ODBC APIはさらにドライバーマネージャーと通信します。アプリケーションはデータソース名(DSN)を知っていればよく、データがどこに保存されているか、どのように保存されているか、システムがどのように構成されているかを理解する必要はありません。
ODBCを使用する際、以下のタスクはすべてのアプリケーションに共通しています:
OBServerノードを選択して接続します。
SQL文を送信して実行します。
結果を検索します(存在する場合)。
エラーを処理します。
SQL文を含むトランザクションをコミットまたはロールバックします。
OBServerノードとの接続を切断します。
ほとんどのデータアクセス作業はSQLで完了するため、OceanBase Connector/ODBCを使用するアプリケーションの主なタスクは、SQL文を送信してこれらの文によって生成された結果を取得することです。
ドライバーマネージャー
ドライバーマネージャーは、アプリケーションとドライバー間の通信を管理するためのライブラリです。主に以下のタスクを実行します:
データベースに接続するためのデータソース名(DSN)を解析します。データベース接続情報はDSNによって識別されます。DSNは設定文字列であり、指定されたデータベースドライバー、データベース、データベースホスト、およびオプションの認証情報を識別します。ODBC互換のあらゆるアプリケーションは、事前に設定された同一のDSNを使用してデータソースに接続できます。
DSNで定義されたデータベースにアクセスするために必要なドライバーをロードおよびアンロードします。たとえば、OceanBaseデータベースに接続するためのDSNを設定した場合、ドライバーマネージャーは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の定義に基づいて、ドライバーマネージャーはロードするドライバーを決定でき、ドライバーは接続パラメータを読み取ることができます。
OBServerノード
OBServerノードは、OceanBaseデータベースの情報を格納します。クエリ操作はデータベースからデータを取得でき、挿入および更新操作はデータベース内のデータに作用できます。