Linux DSN の構成
このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、およびFedora のようなRed Hat Linux プラットフォーム。
Linux の最小バージョン
Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。
| OS | Min. Version |
| Ubuntu | 18.04 |
| Debian | 10 |
| RHEL | 8 |
| Fedora | 28 |
| SUSE | 15 |
ドライバー依存関係のインストール
必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。
- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/Fedora:
yum install glibc libstdc++ zlib libgcc
ドライバーのインストール
標準のパッケージ管理システムを使用してドライバーをインストールできます。
Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。
dpkg -i /path/to/driver/setup/OdooODBCDriverforUnix.deb
RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。
rpm -ivh /path/to/driver/OdooODBCDriverforUnix.rpm
ドライバーのライセンス
次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。
cd /opt/cdata/cdata-odbc-driver-for-odoo/bin/
sudo ./install-license.sh <key>
ドライバーマネージャー経由の接続
ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。
本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。
DSN の作成
unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。
Odoo への接続
接続するには、URL にOdoo インスタンスURL、User およびAPIToken にユーザー資格情報、Database にOdoo データベース名を設定します。
API トークン(Odoo 14 以降でのみ利用可能)を使用していない場合、代わりにAPIToken フィールドにパスワードを直接入力することができます。
クイックスタート:Odoo Online への接続
以下の手順は、Odoo Online に接続するための一般的な設定です。
- OdooEdition をOnline に設定します。
- URL をhttps://mycompany.odoo.com のようなOdoo インスタンスの完全なURL に設定します。
- User をお使いのOdoo ログイン(E メールまたはユーザー名)に設定します。
- APIToken をAPI キーまたはパスワードに設定します。
- Database をデータベース名に設定します(Odoo Online ではオプション、On-Premises では必須)。
Note:On-Premises Odoo の場合も手順は同様ですが、必ずDatabase を指定し、サーバーが本製品 にアクセス可能であることを確認する必要があります。Odoo Online の場合、データベースは自動的に検出される場合がありますが、設定することをお勧めします。
Odoo エディション
OdooEdition プロパティは、接続の確立方法を決定します。Odoo は2種類の環境を提供しており、この設定は本製品 にどちらを使用しているかを伝えます。
- Online:odoo.com でOdoo のクラウドホスティングされたSaaS 版を利用する場合
- OnPrem:Odoo を自社サーバーにインストールして使用する場合
もし不明な場合は、yourcompany.odoo.com のようなWeb アドレスからOdoo にアクセスする場合、Online を使用してください。組織が独自のOdoo サーバーを管理している場合(カスタムドメインやローカルネットワーク経由でアクセスすることが多い)は、OnPrem を使用してください。
データベース
Odoo は同じサーバーで複数のデータベースをサポートします。接続するデータベースの名前を指定する必要があります。
- Odoo Online の場合:データベース名はWeb アドレスに含まれていることが多く、Database が空白の場合、本製品 が自動的に検出できる可能性があります。 ただし、データベースがURL に表示されず、手動で指定しなければならない場合もあります。信頼性のために、この値を設定することを常に推奨します。
- Odoo On-Premises の場合:Database プロパティを設定する必要があります。この場合、本製品 はデータベースを自動検出できません。
データベース名の調べ方(Odoo Online)
- Odoo Online アカウントにログインします。
- 右上のプロフィールアイコンをクリックし、My Databases を選択します。
- データベース名がテーブルに表示されます。
また、URL のサブドメインにデータベース名が表示されていることもよくあります。アドレスがhttps://mycompany.odoo.com の場合、データベース名はおそらくmycompany です。
アクセス権
Odoo で利用可能なモデル(テーブル)を検出するために、本製品 は内部のir.model.access テーブルをチェックします。このテーブルは、ユーザーが閲覧できるモデルを定義しています。
デフォルトでは、Odoo 管理者だけがこのテーブルを読み取る権限を持っています。管理者以外のユーザーにアクセス権を与えるには、新しいグループを作成します。
- 管理者としてログインし、Odoo の設定でdeveloper mode を有効にします。
- Groups ページ(Users ドロップダウンの下)を開いて新しいグループを作成します。
- Application をAdministration に設定し、グループ名を"Service Access" とします。
- Users タブの下にアクセスが必要なユーザーを追加します。
- Access Rights タブで、ir.model.access(またはModel Access)の権限を追加し、Read にチェックを入れ、Inspect Models と名前を付けます。
この方法でアクセスを許可できない場合は、CheckPermissions プロパティをfalse に設定します。これにより、権限チェックが無効になり、ユーザーが明示的なアクセス権を持っていなくても、本製品 がすべての利用可能なモデルをリストできるようになります。
トラブルシューティング
データベースが見つからない、または認証に失敗するなどのエラーが発生した場合は、次の手順を試してください。
- 特にオンプレミス環境では、Database の値を再確認してください。
- Odoo に直接ログインして、ユーザー資格情報が有効であることを確認してください。
- Odoo Online を使用している場合、Database を空白にして自動検出を許可してみてください。
- 正しいOdooEdition が設定されていること(Online か OnPrem か)を確認してください。
ドライバーエンコーディングの設定
ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。
また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-odoo/lib/cdata.odbc.odoo.ini' でコードページを指定できます。
[Driver]
AnsiCodePage = 932