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

CDATAQUERY 関数を使ってデータ、スプレッドシートの任意のセルにOracle データを自動挿入、編集、削除が可能に。

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

最終更新日:2013-09-25
oracledb ロゴ

CData

excel ロゴ画像
Excel ロゴ

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

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

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

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

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

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

    User=myuser;Password=mypassword;Server=localhost;Port=1521;

Oracle への接続には、PATH variable をアップデートして、ネイティブDLL が含まれるフォルダロケーションが含まれていることを確認します。ネイティブDLL は、インストールディレクトリのlib フォルダにあります。完了したら次のプロパティを設定します:

  • Port: Oracle データベースをホストしているサーバーに接続するポート。
  • User: Oracle データベースに接続するユーザーのID。
  • Password: Oracle データベースに接続するユーザーのパスワード。
  • Service Name: Oracle データベースのサービス名。
  • ResultLocation:結果のアウトプットを開始するセル。

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

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

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

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

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