前回、macOS上でLibreOfficeからODBC経由でアクセスするためのセットアップについて記事を書きました。
今回 .Net経由でODBCにアクセスする方法を試したので報告します。
LibreOfficeの場合、iODBCでしたが、.Netの場合は、unixODBCを使用します。
従来のバージョンでは、IRISのunixODBCドライバーはUnicode対応(ワイド)でなかったため、.NetのODBCでは日本語を正しく処理できませんでしたが、2025.2よりワイドドライバーが追加されたため正しく処理できるようになりました。
今回.Net経由のアクセスを試した理由は、ODBC版Cache DirectエミュレータをMacで動かせないかと考えたからです。
こちらのリポジトリにも設定方法の詳細を記載していますが、Mac上でunixODBCドライバーを設定する方法を紹介します。
- IRISバージョン
unixODBCのUnicode(ワイド)版のドライバーが必要なため、IRIS 2025.2以降のバージョンが必要です。
- unixODBCのインストール
Homebrewを使用してインストールします。
brew install unixodbc
- 必要なunixodbc関連ライブラリをコピーする
cp /opt/homebrew/lib/libodbc*.dylib /usr/local/lib
cp /opt/iris/bin/libodbc*.dylib /usr/local/lib
cp /opt/iris/bin/irisconnect.so /usr/local/lib
ls /usr/local/lib
irisconnect.so libodbc.dylib libodbccr.dylib libodbcinst.dylib
libodbc.2.dylib libodbccr.2.dylib libodbcinst.2.dylib
- odbc.iniとodbcinst.ini
/opt/homebrew/etcの下にodbc.iniとodbcinst.iniを置く
- odbcinst.iniの設定内容
例
[InterSystems ODBC]
UsageCount=1
Driver=/opt/iris/bin/libirisodbc35.so
Setup=/opt/iris/bin/libirisodbc35.so
SQLLevel=1
FileUsage=0
DriverODBCVer=02.10
ConnectFunctions=YYN
APILevel=1
DEBUG=1
CPTimeout=<not pooled>
- odbc.iniの設定内容
例
[iris user]
Driver=InterSystems ODBC
Protocol=TCP
Host=localhost
Port=1972
Database=USER
UID=_system
Password=sys
Description=User namespace
Query Timeout=0
Static Cursors=0
Trace=off
- PATHの設定 例
export PATH="/opt/homebrew/lib:/opt/homebrew/bin:/opt/iris/bin:/opt/iris/lib/python:/opt/iris/mgr/python:$PATH"
.png)
.png)