目次
ODBCとJDBCとは
どちらも、アプリケーションからデータベースに接続し、SQLでデータを取得・更新するための共通の仕組み(API)です。
主な違いは、利用する言語やアプリケーションです。
接続には、接続先のデータベースに対応した「ドライバー」というソフトウェアを使います。
接続の流れ
アプリ → JDBC(API) → JDBCドライバー → データベース
アプリ → ODBC(API) → ODBCドライバー → データベース
アプリ → 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データソースを登録する
- Windowsの「ODBCデータソース(64ビット)」を開きます。
- 「システムDSN」タブで「追加」を選びます。
- Amazon Redshift用ドライバーを選びます。
- 次の接続情報を入力します。
| 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の送信や結果の受信を行うためのソフトウェアです。
ドライバーは、流れの中で次のような仕事をします。
- 接続先や認証情報を使って、データベースに接続する。
- アプリから受け取ったSQLを送信する。
- 検索結果やエラーを受け取り、アプリへ返す。
関連の記事
