Mac版のIRISにSQLを使用して他ツールからアクセスするケースはそもそも少ないと思いますが、DBeaverにJDBCを使用してアクセスできることはこのコミュニティの住人であれば、知っている人は結構いるかと思います。
しかし今回ちょっと理由があってMac上のIRISにODBCを使ってアクセスする方法についてトライしてみました。
ここではその備忘録を書き留めておこうと思います。
実際の所、Mac上のクライアントツールでODBCでアクセスできるツールもそんなにないのですが、
候補としてMS-Excel(MS-Query経由)またはLibreOfficeがありました。
まず結論としてExcelは色々とトライしましたが、原因不明ですがうまくつながりませんでした。
(どうもExcel(MS-Query)が拒絶している感じです)
LibreOfficeは何とか接続でき、データの取得はできる様になりました。
まず、前準備としてODBC Driver Managerというものをセットアップする必要があります。
細かくいうとこれにもiODBCとUnixODBCの2系統があるのですが、ExcelおよびLibreOfficeはiODBCにしか対応していない感じです。
(これは正確な情報ではない可能性はあります)
iODBC用のDriver ManagerはiODBCのウェブサイトで説明している手順で自分でビルドすることも可能なはずですが、出来合いのものがあるので、それを使います。
以下のサイトからダウンロードしてインストールできます。
Mac用ODBC Driver Manager
このODBCドライバーマネージャをインストールして、起動すると、以下の様なスクリーンが表示されます。
以下のドライバパネルの所でIRIS用のiODBCドライバを設定します。
.png)
.png)
ここでODBCドライバの名前とドライバファイルを指定します。
ドライバファイルは、
<IRISインストールディレクトリ>/bin/libirisodbc35.so
です。
次にシステムDSNの設定を行います。
システムDSNタブのところで追加ボタンを押します。
ドライバを指定するためのダイアログが表示されるので、先ほど設定したドライバ構成の名前を選択します。
.png)
OKボタンを押すと次にシステムDSNの設定スクリーンが表示されます。
.png)
ここでシステムDSN名と設定項目を指定していきます。
このスクリーン上で項目を1つ1つ設定することもできますが、この内容はODBC .iniというファイルに直接書いた方が早いです。
そのファイルの内容は、
[ODBC Data Sources]
IRIS ODBC User = IRIS iODBC Driver
[IRIS ODBC User]
Driver = /opt/iris/bin/libirisodbc35.so
Description =
Host = localhost
Namespace = USER
UID = _system
Password = SYS
Protocol = TCP
Port = 1972
Trace = on
TraceFile = /Users/hsatoctr/work/iodbctrace.log
の様な感じです。
このファイルの場所は、/Library/ODBCです。
これで接続の準備ができたので、実際にLibreOfficeからアクセスしてみます。