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/MongoDBODBCDriverforUnix.deb
RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。
rpm -ivh /path/to/driver/MongoDBODBCDriverforUnix.rpm
ドライバーのライセンス
次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。
cd /opt/cdata/cdata-odbc-driver-for-mongodb/bin/
sudo ./install-license.sh <key>
ドライバーマネージャー経由の接続
ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。
本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。
DSN の作成
unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。
MongoDB への接続
次の接続プロパティを設定し、単一のMongoDB インスタンスに接続します。
- Server:MongoDB インスタンスが実行されているサーバーの名前またはアドレスに設定。ポートはここで指定できます。またはPort で指定します。
- Database:読み書きするデータベースに設定。
DNS シードリストを使用してMongoDB に接続
DSN シードリストを使用して接続するには、以下を設定します。- Server:"mongodb+srv://"" + MongoDB インスタンスが実行されているサーバーの名前に設定。ポートはここで指定できます。またはPort で指定します。
- Database:読み書きするデータベースに設定。
- DNSServer:必要なDNS エントリを解決できるDNSServer のホスト名に設定。
レプリカセットへの接続
レプリカセットに接続するには、前述の接続プロパティに加えて、 次の設定を行います。
- ReplicaSet:アドレスとポートで指定されたレプリカセット内のセカンダリサーバーのカンマ区切りリストに設定。
- SlaveOK:セカンダリ(スレーブ)サーバーから読み出す場合は、これをtrue に設定。
- ReadPreference:これを設定すると、本製品 のセカンダリサーバーからの読み出し方法が微調整されます。
セキュアなMongoDB への接続
UseSSL を設定すると、接続時にSSL/TLS 暗号化をネゴシエートできます。
MongoDB 接続の認証
サポートされているAuthScheme 認証タイプ(MONGODB-CR、SCRAM-SHA-1、SCRAM-SHA-256、PLAIN、GSSAPI)は、チャレンジレスポンス認証とLDAP です。
チャレンジレスポンス
チャレンジレスポンス認証では、User とPassword プロパティは、MongoDB データベースに格納されているユーザー名とパスワードに対応しています。1つのデータベースのデータに接続し、別のデータベースを認証する必要がある場合は、Database とAuthDatabase の両方を設定します。
LDAP
LDAP 認証を使用するには、AuthDatabase を"$external" に設定し、AuthScheme をPLAIN に設定します。この値はSASL PLAIN メカニズムを指定します。このメカニズムは視覚情報をプレーンテキストで送信するため、信頼できないネットワークではTLS/SSL なしでは使用できません。
X.509 証明書
X.509 証明書認証を使用するには、AuthScheme をX509 に設定します。
Amazon DocumentDB クラスターへの接続
Amazon DocumentDB に接続する前に、まずAmazon DocumentDB クラスターと、mongo シェルを含むEC2 インスタンスが実行されていることを確認する必要があります。
次に、EC2 インスタンスへのSSH トンネルを以下のように設定します。
- AWS 管理コンソールから、[サービス]->[データベース]->[Amazon DocumentDB]を選択します。DocumentDB 管理ページから、[クラスター]を選択して、クラスターをクリックします。
- [接続]セクションで、サンプル接続文字列にある--host の値とそのポートに注意してください。
- [サービス]->[Compute]->[EC2]に移動します。[実行中のインスタンス]を選択します。
- インスタンスを選択して、[接続]ボタンをクリックします。
- [Example]セクションで、<ami_username>@<Public DNS> の形式で示される、インスタンスとユーザーを識別する値に注意してください。
- お好みのSSH クライアントで、EC2インスタンスの[接続]ページのHost Name(username@publicDNS)とPort22 を使用して、EC2 インスタンスへの接続を確立します。
- 認証用に、EC2インスタンスの秘密鍵ファイルを指定します(Putty ではキーを.pem から.ppk に変換する必要があります)。
- DocumentDB クラスターページのポートとホスト名を使用して、SSH トンネルを構成します。
- EC2仮想マシンに接続を確立します。
DocumentDB クラスターに接続するには、以下を指定します。
- Server:SSH トンネルをホストしているマシン名に設定。
- Port:SSH トンネルがホストされているポートに設定。
- User:DocumentDB クラスターのプロビジョニングに使用するマスターユーザー名に設定。
- Password:DocumentDB クラスターのプロビジョニング時に設定したマスターパスワードに設定。
- UseSSL:true に設定。
- UseFindAPI:true に設定。
MongoDB API を使用したCosmosDB への接続
MongoDB API を使ってCosmos DB アカウントに接続するために必要な接続文字列を取得するには、Azure Portal にログインして[Azure Cosmos DB]を選択し、自分のアカウントを選択します。[Settings]セクションで、[Connection String]をクリックして次の値を設定します。
- Server:Host 値(アカウント用にプロビジョニングされたサーバーのFQDN)に設定。ポートもここで指定できます。またはPort で指定します。
- Port:ポートに設定。
- Database:読み書きするデータベースに設定。
- User:データベースユーザーに設定。
- Password:ユーザーのパスワードに設定。
ドライバーエンコーディングの設定
ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。
また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-mongodb/lib/cdata.odbc.mongodb.ini' でコードページを指定できます。
[Driver]
AnsiCodePage = 932