CData Excel Add-In for EnterpriseDB の関数を使って、スプレッドシートにデータを取り込むことができます。下記の3つの手順では、次のタスクを自動化する方法について説明します:ユーザー定義の値でEnterpriseDB を検索し、その結果をExcel スプレッドシートに出力します。
CDATAQUERY 関数の構文は次のとおりです:
=CDATAQUERY(Query, [Connection], [Parameters], [ResultLocation]);
この関数に入力する値は以下の3つです:
- Query:取得したいEnterpriseDB data レコードの宣言、もしくは修正を簡単な構文で記述。
-
Connection:EnterpriseDBConnection1 のような接続名、もしくは接続文字列を入力。接続文字列は、EnterpriseDB への接続に必要なプロパティのセミコロン区切りとなります。一般的な接続文字列は次のとおりです:
- User
- Password
- Database
- Server
- Port
データに接続するには、以下の接続プロパティが必要です。
- Server: EnterpriseDB データベースをホスティングしているサーバーのホスト名またはIP アドレス。
- Port: EnterpriseDB データベースをホスティングしているサーバーのポート。
オプションで、以下を設定することもできます。
- Database: EnterpriseDB サーバーに接続する場合のデフォルトのデータベース。設定されていない場合は、ユーザーのデフォルトデータベースが使用されます。
Basic 認証による接続
Basic 認証を使って認証するには、以下を設定します。
- User:EnterpriseDB サーバーに認証する際に使われるユーザー。
- Password:EnterpriseDB サーバーに認証する際に使われるパスワード。
SSL 認証による接続
SSL 認証を利用して、セキュアなセッションを介してEnterpriseDB データに接続できます。以下の接続プロパティを設定して、データに接続します。
- SSLClientCert:クライアント証明書のための証明書ストア名に設定します。クライアントとサーバーの両方のマシンでトラストストアとキーストアが保持される2-way SSL の場合に使用されます。
- SSLClientCertPassword:クライアント証明書ストアがパスワードで保護されている場合、この値をストアのパスワードに設定します。
- SSLClientCertSubject:TLS/SSL クライアント証明書のSubject。ストア内の証明書を検索するために使用されます。
- SSLClientCertType:クライアントストアの証明書タイプ。
- SSLServerCert:サーバーが受け入れ可能な証明書。
- ResultLocation:結果のアウトプットを開始するセル。
スプレッドシートのセルをクエリのインプットとして渡す
下記の処理では、すべての関数インプットをひとつ目のカラムでオーガナイズするスプレッドシートができます。
-
関数をインプットするセルを定義します。接続インプットに加えて、ShipCountry のように、EnterpriseDB の検索に使われるフィルタ用の基準を定義する追加のインプットを入力します。
- 別のセルに、上で定義したユーザーインプットセルからセルの値を参照する関数を書きます。住所などスペースを含む可能性のある値は、シングルクオートで囲みます。
=CDATAQUERY("SELECT * FROM Orders WHERE ShipCountry = '"&B6&"'","User="&B1&";Password="&B2&";Database="&B3&";Server="&B4&";Port="&B5&";Provider=EnterpriseDB",B7)
- フィルタを変更してデータを変更します。