そのほか
2023/11/28
飯沼 佑太

Amazon RedshiftへODBC接続する手順を徹底解説!

redshift_logo

今回の開発環境はGoogle Cloud Engine(以下GCE)で立てたVMインスタンスにVS codeからSSH接続して環境構築していきます。下記ブログを参考にGCEでVMインスタンスをたて接続できるようにしておいてください。本記事はOSがDebianであることを前提に進めます。

ODBC接続とは?

ODBC接続(Open Database Connectivityの略)は、異なるデータベースシステム間でのデータのやり取りを可能にするための標準プロトコルです。 簡単に説明すると、ODBCはデータベースとアプリケーションの間に「通訳」のような役割を果たします。例えば、あなたがExcelを使用して特定のデータベースから情報を取得したいとします。しかし、そのデータベースはExcelと直接「話す」ことができません。ここでODBCが登場します。 ODBCドライバー(ソフトウェア)をインストールすると、Excelはこのドライバーを通じてデータベースと通信できるようになります。ドライバーはExcelからの要求をデータベースが理解できる形式に変換し、データベースの応答をExcelが理解できる形式に変換します。 このようにして、ODBCは異なるシステム間の通信を可能にし、アプリケーション開発者やエンドユーザーが複数のデータベースと効率的に作業できるようにするためのシステムです。

大まかなフロー


  1. Amazon Redshift ODBC ドライバーのインストール

  2. ODBCドライバーマネージャーのインストール

  3. ODBCドライバーマネージャーの設定

  4. 接続


Amazon Redshift ODBC ドライバーのインストール

まず、Amazon Redshift ODBC ドライバーのインストールをしていきます。下記コマンドを実行して64ビットDebianドライバーのインストールファイルをダウンロードしてきます。



https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.deb


インストールファイルのダウンロードが完了したら、下記コマンドを実行しインストールを行なってください。



sudo apt install ./AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.deb


これで、Amazon Redshift ODBC ドライバーのインストールは完了です。


ODBCドライバーマネージャーのインストール

次にODBCドライバーマネージャーをインストールしていきます。まずは、下記コマンドを実行しDebianシステムのパッケージリストを最新の状態に更新します。



sudo apt-get update


次に、ODBCドライバーマネージャーをインストールしていきます。今回はUnixODBCというODBCドライバーマネージャーを使います。下記コマンドを実行しツールのインストールを行なってください。



sudo apt-get install unixodbc unixodbc-dev


これで、ODBCドライバーマネージャーのインストールは完了です。



ODBCドライバーマネージャーの設定

概要


UnixODBCをインストールした後、Amazon Redshift ODBCドライバーを設定する必要があります。UnixODBCは通常、ODBCデータソース名(DSN)を設定するためにodbc.iniファイルと、ドライバー設定を格納するためにodbcinst.iniファイルを使用します。これらのファイルは通常、/etcディレクトリにあります。



  • /etc/odbcinst.ini


    • このファイルには、インストールされた各ODBCドライバーの設定が含まれます。

    • Amazon Redshift ODBCドライバーのエントリを追加します。



  • /etc/odbc.ini


    • このファイルは、ODBCデータソースの接続情報を含みます。

    • データソース名(DSN)を設定し、接続の詳細(ホスト名、データベース名、ユーザー名、パスワードなど)を指定します。




これらのファイルを編集していきます。ファイルの編集時はviで行なってください。


odbcinst.iniの編集


odbcinst.iniは下記を追記してください。



[Redshift]
Description = Amazon Redshift ODBC Driver
Driver = driverのパス


driverのパスは下記コマンドを実行して確認してください。



dpkg -L AmazonRedshift-64bit


拡張子が「.so」のパスをコピーして追記してください。


odbc.iniの編集


ここには、接続先の情報を追記します。下記のようにodbc.iniファイルを編集します。



[MyRedshiftDB] 
Driver = Redshift
Server = [あなたのRedshiftサーバーのホスト名またはIP]
Database = [データベース名] Port = 5439
UID = [ユーザー名]
PWD = [パスワード]


接続

これらの作業が完了すると、環境設定は終了です。下記コマンドを実行し、Redshiftに接続できるか検証してください。



isql -v MyRedshiftDB

New call-to-action