本記事はCData Software Calendar 2024 12月14日の記事です。
CData 製品をOracle DB への接続のために導入検証する段階で、次のようなエラーが発生する場合があります。
Can't load binary library: no System.Data.CData.OracleOCIw in java.library.path
もしくは次のようなエラーも。
libaio.so.1: cannot open shared object file
これらのエラー原因はOracle ドライバ/コネクタの動作に必要なネイティブライブラリがCData 製品から参照できなかった場合に発生するエラーになります。CData 製品からネイティブライブラリを参照するためには環境変数を設定する、または関連ライブラリをインストールする必要があります。ご利用している製品やプラットフォーム (OS)によって微妙に設定する環境変数名や値が異なるため本記事では各パターンでの設定方法についてまとめていきます。画面右側の目次からご利用しているOS 、CData 製品のリンクから設定手順を参照ください。
Windows × CData Drivers の場合の設定手順
1. CData Drivers をインストール後、次のフォルダ内に System.Data.CData.OracleOCIw.dll などの*.dll ファイルがあることを確認する
- 64bit の場合: C:\Program Files\CData\<製品名>\lib\native\win\x64
- 32bit の場合: C:\Program Files\CData\<製品名>\lib\native\win\x86
2. Windowsの検索ボックスから[環境変数を編集]を開く
3. 次の環境変数を設定する
環境変数名 |
環境変数の値 |
PATH |
- 64bit の場合: C:\Program Files\CData\<製品名>\lib\native\win\x64
- 32bit の場合: C:\Program Files\CData\<製品名>\lib\native\win\x86
|
Windows × CData Sync の場合の設定手順
1. CData Sync でOracle コネクタをインストール
2. 次のフォルダ内に System.Data.CData.OracleOCIw.dll などの*.dll ファイルがあることを確認する
- 64 bit の場合: C:\ProgramData\CData\sync\libs\oracleoci\x64
- 32 bit の場合: C:\ProgramData\CData\sync\libs\oracleoci\x86
3. Windowsの検索ボックスから[環境変数を編集]を開く
4. 次の環境変数を設定する
環境変数名 |
環境変数の値 |
PATH |
- 64bit の場合: C:\ProgramData\CData\sync\libs\oracleoci\x64
- 32bit の場合: C:\ProgramData\CData\sync\libs\oracleoci\x86
|
5. 環境変数を反映するためSync を再起動
Linux × CData Driversの場合の設定手順
1. CData Drivers をインストール後、次のディレクトリ内に libSystem.Data.CData.OracleOCIw.so などの*.so ファイルがあることを確認する
- 64 bit の場合: <インストールディレクトリ>/lib/native/unix/x64
- 32 bit の場合: <インストールディレクトリ>/lib/native/unix/x86
2. 利用環境に応じて次の環境変数を設定する
環境変数名 |
環境変数の値 |
LD_LIBRARY_PATH |
- 64bit の場合: <インストールディレクトリ>/lib/native/unix/x64
- 32bit の場合: <インストールディレクトリ>/lib/native/unix/x86
|
3. もし環境変数設定後も次のようなエラーが発生する場合、このページの[Linux ユーザーへの注意事項]内にあるコマンドを実行し、依存しているライブラリをインストール
libaio.so.1: cannot open shared object file
Linux × CData Sync の場合の設定手順
1. CData Sync でOracle コネクタをインストール
2. 次のディレクトリ内に libSystem.Data.CData.OracleOCIw.so などの*.so ファイルがあることを確認する
- <インストールディレクトリ>/libs/oracleoci/<バージョン番号>
3. Syncの実行環境などに応じて次の環境変数を設定する
環境変数名 |
環境変数の値 |
LD_LIBRARY_PATH |
- <インストールディレクトリ>/libs/oracleoci/<ビルド番号>
|
3-a. もしsystemd 経由で起動している場合やAMI 利用の場合、/etc/systemd/system/cdatasync.service の[Service] セクションに以下を追加
Environment="LD_LIBRARY_PATH=<インストールディレクトリ>/libs/oracleoci/<ビルド番号>"
4. 環境変数を反映するためSync を再起動
5. もし環境変数設定後も次のようなエラーが発生する場合、このページの[Linux ユーザーへの注意事項]内にあるコマンドを実行し、依存しているライブラリをインストールし再度Sync を再起動する
libaio.so.1: cannot open shared object file
Mac × CData Drivers の場合の設定手順
1. CData Drivers をインストール後、<インストールディレクトリ>/lib/native/mac 内に libSystem.Data.CData.OracleOCIw.dylib などの*.dylib ファイルがあることを確認する
- ※<インストールディレクトリ> はdmg インストーラ利用の場合 /Applications/<製品名> がデフォルト
2. 利用環境に応じて次の環境変数を設定する
環境変数名 |
環境変数の値 |
DYLIB_LIBRARY_PATH |
- <インストールディレクトリ>/lib/native/mac
|
Mac × CData Sync の場合の設定手順
1. CData Sync でOracle コネクタをインストール
2. 次のフォルダ内に libSystem.Data.CData.OracleOCIw.dylib などの*.dylib ファイルがあることを確認する
- <インストールディレクトリ>/libs/oracleoci/<バージョン番号>
3. Sync の実行環境などに応じて次の環境変数を設定する
環境変数名 |
環境変数の値 |
DYLIB_LIBRARY_PATH |
- <インストールディレクトリ>/libs/oracleoci/<ビルド番号>
|
4. 環境変数を反映するためSync を再起動
関連コンテンツ