ODBCとJDBCの違い

目次

ODBCとJDBCとは

どちらも、アプリケーションからデータベースに接続し、SQLでデータを取得・更新するための共通の仕組み(API)です。

主な違いは、利用する言語やアプリケーションです。

接続には、接続先のデータベースに対応した「ドライバー」というソフトウェアを使います。

接続の流れ
アプリ → JDBC(API) → JDBCドライバー → データベース
アプリ → ODBC(API) → ODBCドライバー → データベース

ODBCとJDBCの違い

比較項目 ODBC JDBC
正式名称 Open Database Connectivity Java Database Connectivity
主な利用元 Excel、Access、C/C++のアプリなど Javaアプリ、JDBC対応SQLツールなど
利用する言語 さまざまな言語から利用できる Java向けのAPI
ドライバーの形式 WindowsではDLLなど JARファイル
対応OS Windows、Linuxなど(ドライバーの対応による) Javaとドライバーの対応するOS
接続設定の例 WindowsでDSNを登録して選択する 接続URL・ユーザー名などを指定する

① ODBCの接続設定例

1. ドライバーをインストールする

接続するPCにAmazon Redshift ODBCドライバーをインストールします。ここでは、64ビットのExcelから64ビットドライバーを使用する例とします。

2. ODBCデータソースを登録する

  1. Windowsの「ODBCデータソース(64ビット)」を開きます。
  2. 「システムDSN」タブで「追加」を選びます。
  3. Amazon Redshift用ドライバーを選びます。
  4. 次の接続情報を入力します。
Data Source Name(DSN) Redshift_Test
Server / Host example-cluster.xxxxxx.ap-northeast-1.redshift.amazonaws.com
Port 5439
Database dev
認証方式 標準のDBユーザー名・パスワード認証
User / User Name app_user
Password 接続するDBユーザーのパスワード
SSL Optionsの認証モード verify-full(証明書とホスト名を検証)

3. 接続をテストする

「Test」で接続を確認し、保存します。Excelなどからは、登録したRedshift_Testを選んで利用します。

※DSNは接続設定に付ける名前です。Redshift_Testは任意の名前であり、Redshiftのデータベース名devとは別です。

② JDBCの接続設定例

1. JDBCドライバーを用意する

Amazon Redshift JDBCドライバー(JARファイル)を、JavaアプリやJDBC対応SQLツールで利用できるように設定します。

2. 接続URLと認証情報を設定する

基本的なURLの形式です。

jdbc:redshift://ホスト:ポート/データベース名

今回の例では、SSLの検証設定も指定して次のようにします。

jdbc:redshift://example-cluster.xxxxxx.ap-northeast-1.redshift.amazonaws.com:5439/dev?SSLMode=verify-full

ドライバーとは

アプリからデータベースに接続し、SQLの送信や結果の受信を行うためのソフトウェアです。

ドライバーは、流れの中で次のような仕事をします。

  1. 接続先や認証情報を使って、データベースに接続する。
  2. アプリから受け取ったSQLを送信する。
  3. 検索結果やエラーを受け取り、アプリへ返す。

関連の記事

Java PostgreSQLにJDBC接続してselectするサンプル

△上に戻る