CDATAQUERY 関数を使って、Excel スプレッドシートにLDAP を自動挿入

加藤龍彦
ウェブデベロッパー


ldap ロゴ

CData

excel ロゴ画像
Excel ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData Excel Add-In for LDAP の関数を使って、スプレッドシートにデータを取り込むことができます。下記の3つの手順では、次のタスクを自動化する方法について説明します:ユーザー定義の値でLDAP を検索し、その結果をExcel スプレッドシートに出力します。

CDATAQUERY 関数の構文は次のとおりです: =CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation]);

この関数に入力する値は以下の3つです:

  • Query:取得したいLDAP objects レコードの宣言、もしくは修正を簡単な構文で記述。
  • Connection:LDAPConnection1 のような接続名、もしくは接続文字列を入力。接続文字列は、LDAP への接続に必要なプロパティのセミコロン区切りとなります。

    一般的な接続文字列は次のとおりです。

    User=Domain\BobF;Password=bob123456;Server=10.0.1.1;Port=389;

リクエストを認証するには、User およびPassword プロパティを有効なLDAP クレデンシャル(例えば、User を"Domain\BobF" または"cn=Bob F,ou=Employees,dc=Domain")に設定します。 本製品は、デフォルトでプレーンテキスト認証を使用します。これは、本製品がサーバーとTLS/SSL のネゴシエーションを試みるためです。 AuthMechanism を使って別の認証方法を指定できます。 TLS/SSL コンフィギュレーションについて詳しくは、ヘルプドキュメントの「高度な設定」を参照してください。

    基本接続には、Server およびPort を設定します。さらに、次のように接続を微調整できます。
  • FollowReferrals:設定すると、本製品は参照サーバーのデータもビューとして表示します。参照サーバー上のデータを変更するには、このサーバーをServer およびPort で指定する必要があります。
  • LDAPVersion:サーバーが実装するプロトコルのバージョンに設定します。デフォルトでは、本製品はversion 2 を使用します。
  • BaseDN は、LDAP 検索の範囲を指定された識別名の高さに限定します。BaseDN の範囲を絞ることはパフォーマンスを劇的に向上させます。例えば、"cn=users,dc=domain" の値は、"cn=users" およびその子に含まれる結果のみを返します。
  • Scope:このプロパティを使用すると、サブツリーから返されるデータをより細かく制御できます。
  • ResultLocation:結果のアウトプットを開始するセル。

    スプレッドシートのセルをクエリのインプットとして渡す

    下記の処理では、すべての関数インプットをひとつ目のカラムでオーガナイズするスプレッドシートができます。

    1. 関数をインプットするセルを定義します。接続インプットに加えて、CN のように、LDAP の検索に使われるフィルタ用の基準を定義する追加のインプットを入力します。
    2. 別のセルに、上で定義したユーザーインプットセルからセルの値を参照する関数を書きます。住所などスペースを含む可能性のある値は、シングルクオートで囲みます。
    3. =CDATAQUERY("SELECT * FROM User WHERE CN = '"&B5&"'","User="&B1&";Password="&B2&";Server="&B3&";Port="&B4&";Provider=LDAP",B6) Formula inputs used in this example. (Google Apps is shown.)
    4. フィルタを変更してデータを変更します。 The outputs of the formula. (Google Apps is shown.)
  • 関連コンテンツ

    トライアル・お問い合わせ

    30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。