製品をチェック

HCL Domino Data Provider の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

HCL Domino アイコン HCL Domino ADO.NET Provider 相談したい

HCL Domino データに連携する.NET アプリケーションを素早く、簡単に開発できる便利なドライバー。

LINQPad でHCL Domino のデータを操作する方法

LINQPad でHCL Domino にLINQ クエリを実行する方法を解説します。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-15
domino ロゴ

CData

ado ロゴ画像
LINQPad ロゴ

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

CData ADO.NET Provider for Domino は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってHCL Domino の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

必要なもの

本記事の手順を実行してLINQPad からHCL Domino に接続するには、以下の3つの製品が必要になります。

  • HCL Domino の環境
  • LINQPad
  • CData ADO.NET Provider for Domino。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for Domino およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. Domino への接続

    Domino のデータに接続するには、以下のプロパティを設定してください。

    • URL: Domino データベースをホスティングしているサーバーのホスト名、またはIP を入力します。サーバーのポート番号を含めてください。例えば、http://sampleserver:1234/
    • DatabaseScope: Domino Web UI 内のスコープ名を入力します。ドライバーは、ここで指定したスコープによって制御されるスキーマの、フォームとビューを公開します。Domino Admin UI で、サイドバーからScopes メニューを選択します。このプロパティを、既存のスコープ名に設定します。

    Domino での認証

    Domino は、ログインクレデンシャルまたはAzure Active Directory OAuth アプリケーションを使用した認証をサポートしています。

    ログインクレデンシャル

    ログインクレデンシャルで認証するには、以下のプロパティを設定してください:

    • AuthScheme: これを"OAuthPassword" に設定します
    • User: 認証するDomino ユーザーのユーザー名
    • Password: 認証するDominoユ ーザーに関連付けられたパスワード

    ドライバーはログインクレデンシャルを使用して、自動的にOAuth トークン交換を実行します。

    AzureAD

    この認証方法は、Azure Active Directory をIdP として使用してJWTトークンを取得します。Azure Active Directory にカスタムのアプリケーションを作成し、それをIdP として設定する必要があります。そのためには、ヘルプドキュメントの指示に従ってください。その後、以下のプロパティを設定します。

    • AuthScheme: これを"AzureAD" に設定します
    • InitiateOAuth: これをGETANDREFRESH に設定します。InitiateOAuth を使用すると、OAuth 交換の繰り返しやOAuthAccessToken の手動設定を避けることができます。
    • OAuthClientId: カスタムOAuth アプリケーションのセットアップ時に取得したクライアントID
    • OAuthClientSecret: カスタムOAuth アプリケーションのセットアップ時に取得したクライアントシークレット
    • CallbackURL: アプリ登録時に定義したリダイレクトURI。例えば、https://localhost:33333
    • AzureTenant: データにアクセスするために使用されるMicrosoft Online テナント。companyname.microsoft.com 形式の値またはテナントID のいずれかを指定してください。

      テナントID は、Azure ポータルのAzure Active Directory > プロパティページに表示されているディレクトリID と同じです。

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

    Server=https://domino.corp.com;Database=names.nsf;Port=3002;SSLClientCertType=PEMKEY_FILE;SSLClientCert=full_path_of_certificate.pem;SSLServerCert=*
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でHCL Domino 接続を作成できます。

LINQPad でHCL Domino のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でHCL Domino にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からHCL Dominoに接続

関連コンテンツ

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

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