ODBC/JDBCとは ~様々な種類のDBと繋げる共通インターフェース~|データ分析用語を解説

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

ODBC/JDBCによって、利用者はDBの種類を意識することなくSQLを実行できる

データベース(以下、DB)の接続するときに求められるモジュールの中にODBC、または、JDBCがある場合があります。しかし、どのような役割を担っているか知らない人も多いと思います。これらODBC/JDBCとDBについて解説します。

ODBCとは

ODBCについて、Wikipediaで調べてみました。

Open Database Connectivity(ODBC)は、RDBMSにアクセスするための共通インタフェース (API)である。データへのアクセスを統一化することを目的としており、たとえばクライアント/サーバ型ではないMicrosoft Accessの管理するデータベースファイル (MDB)や、そもそもRDBMSではないCSVファイルへのアクセスなども、それに対応するODBCドライバがあれば、他の一般的なデータベースへのアクセスするのと同様な方法で利用することが可能になる。
出所:Wikipedia

SQL命令でテーブルの検索、追加、更新、削除が行えるDBのことをデータベースマネージメントシステム(DBMS)と言い、各社、または各組織が様々なDBMSを出しています。これらのDBMSは、それぞれ特徴があり、そのため内部での処理公式も異なります。
しかし、データベース利用者は、DBMSの種類が異なっていても、同じSQL命令でデータベースを操作できます。これは、ODBCが、SQL命令を発行するアプリとDBの間に入り、処理の変換をしてくれるためです。例えるなら、SQL言語とDBMS処理の通訳をしているようなものです。

JDBCとは

JDBCについて、Wikipediaで調べてみました。

JDBCは、Java とリレーショナルデータベースの接続のためのAPI。JDBCは正式名称であって略称ではないが、Java database connectivityに由来する名前だと考えられている。ODBCをベースにサン・マイクロシステムズおよび DataDirect が共同で開発していると言われている。そのためドライバのデフォルトの自動コミットの有効化など似ている点も多々ある。
出所:Wikipedia

要するにJDBCは、Java言語の使用目的で作られたODBCです。そのためJava言語で作成されたアプリでDBとの接続が必要になった場合、JDBCが必要とされる場合があります。

最適なODBC/JDBCを選ぼう

アプリを使用して、DBに接続して作業を行う場合、DBの種類によって、それに適したODBCドライバ、またはJDBCドライバが必要になります。これらのドライバは、OSやDBの種類によって異なり、バグ(障害)対応も随時行っていますので、その時に最新のドライバをインターネットなどから入手してください。基本的にDBより新しいドライバでも下位互換があるため問題なく使える事が多いようです。
データ分析用語:索引

SERVICE