Open Database Connectivity (ODBC) は、アプリケーションが構造化照会言語 (SQL) を使用して複数のデータベース管理システムにアクセスできるようにするための、 アプリケーション・プログラミング・インターフェース (API) に関する仕様です。 COBOL アプリケーションに ODBC インターフェースを使用すると、ODBC インターフェースをサポートするデータベースおよびファイル・システムに動的にアクセスできるようになります。
ODBC を使用すると、1 つのアプリケーションから多数の異種データベース管理システムにアクセスできるため、インターオペラビリティーを最大限に高めることができます。このため、特定種のデータ・ソースに限定せずに、アプリケーションの開発、コンパイル、および出荷までを行うことができます。ユーザーはその後、データベース・ドライバーを追加して、アプリケーションを必要なデータベース管理システムとリンクすることができます。
ODBC インターフェースを使用すると、アプリケーションはドライバー・マネージャーを通して呼び出しを行うようになります。このドライバー・マネージャーは、アプリケーションの接続先となるデータベース・サーバーに必要なドライバーを動的にロードします。その後は、このドライバーが呼び出しを受け入れ、指定されたデータ・ソース (データベース) へ SQL を送信し、結果を戻します。
データベース・アクセス用の組み込み SQL を使用する COBOL アプリケーションは、特定のデータベース用のプリコンパイラーまたはコプロセッサーによって処理する必要があり、ターゲット・データベースが変更された場合は再コンパイルする必要があります。 ODBC は呼び出しインターフェースなので、組み込み SQL を使用した場合とは異なり、ターゲット・データベースをコンパイル時に指定することはありません。複数のデータベース用に複数のアプリケーション・バージョンを用意する必要がないだけでなく、ターゲットとするデータベースをアプリケーションが動的に決定することができます。
X/Open Company と SQL Access Group は共同で、X/Open Call Level Interface という呼び出し可能 SQL インターフェースに関する仕様を作成しました。 このインターフェースの目的は、アプリケーションがどのデータベース・ベンダーのプログラミング・インターフェースにも依存しないようにして、アプリケーションの移植性を高めることです。
ODBC はもともと、Microsoft が X/Open CLI の先行ドラフトに基づいて、Microsoft オペレーティング・システム用に開発したものでした。それ以降は、他社ベンダーが UNIX® システムなどの他のプラットフォーム上で動作する ODBC ドライバーを提供してきました。