連載
» 2005年08月06日 00時00分 公開

Excel‐Oracle連携(2):お手軽が一番、ExcelをOracleクライアントに (1/3)

企業の部門内に蓄積された大量のExcelデータをデータベースで管理したい。あるいは、Excelで作成した業務書類からシステムに手作業でデータ入力する工数を削減したい。このようなニーズに応えるべく、OracleデータベースにはExcelからOracleへのさまざまな連携機能が備わっている。(編集部)

[宮本尚志,@IT]

はじめに

主な内容

--Page 1--

▼はじめに

▼連携パターン

▼Microsoft Queryを使用する方法

--Page 2--

マクロを使用する方法

--Page 3--

KeySQLを使用する方法

セキュリティ対策

まとめ


 Excelで見積書や報告書などを作成されている方は多いと思いますが、そういった書類の中には、データベースに格納されている情報が盛り込まれているはずです。例えば、見積書には製品・サービスの価格が、報告書には売り上げデータなどが含まれています。そういった情報を、システムの画面を見ながらExcelに手入力で転記するのは非効率です。Oracleデータベースから直接Excelに取り込むことができれば、作業時間を短縮し、誤入力も回避できます。

 書類作成に限らず、データベース内のデータを分析し、グラフ表示したいという場合にも、Excelは便利なツールです。Oracleデータベースから直接Excelにデータを出力できれば、Excel側でグラフを作成するだけで、簡単かつリアルタイムにデータの分析ができます。

 第2回の本記事では、OracleデータベースのデータをExcelに出力する方法を紹介します。

連携パターン

 OracleデータベースのデータをExcelで取得する方法は、大別すると

  1. ExcelからOracleデータベースに直接接続し、検索するパターン
  2. OracleデータベースからCSVファイルやxslファイルを生成し、それをExcelで読み込むパターン

の2通りあります。細かく分けるとそれぞれのパターンに非常に多くの方法がありますが、主な方法としては以下のようなものがあります。

連携方法 メリット 主な用途
ExcelからOracleデータベースに接続して検索 Microsoft Queryを使用 Excelから簡単にOracleデータベースのデータを検索可能 単純なデータ参照
Excelのマクロを使用 VBAのコーディング次第で柔軟な検索、更新処理が可能 Excelを利用した業務アプリケーションの作成
KeySQLを使用 KeySQLの画面からOracleデータベースを検索し、結果をExcelシートに出力、またはExcelから実行可能なマクロを生成 マスタ表のメンテナンス、Excelを利用した業務アプリケーションの作成
ファイルを生成しExcelで読み込む SQL*PlusのSpoolコマンドでCSVファイルに出力 コマンドラインでの一括処理が可能 CSVファイルの生成
KeySQLを使用 GUI操作でCSV出力可能 CSVファイルの生成
Oracle BI Discovererを使用してxlsファイルを生成 GUI操作でOracleデータベースのデータをリアルタイム分析し、作成した表をxls形式で出力 分析結果のxls形式での配布
表1 ExcelでOracleデータベースのデータを取得する方法

 今回の記事では、Excelから直接かつリアルタイムにデータを取得できる、最初の3つの方法について紹介します。

Microsoft Queryを使用する方法

 Microsoft Query(以下、MS Query)は、主にExcelに対して外部ソースからデータを取り込む、Microsoft Office付属の機能です。ウィザードに従って操作するだけで、簡単にOracleデータベースのデータを検索し、Excelシート上に出力させることが可能です。

手順

 MS Queryを使用するためには、いくつか設定が必要です。まず、Excelを動かすクライアント側にはOracle Clientがインストールされ、Oracleデータベースに接続するための設定が完了している必要があります。さらに、MS Queryのインストール、ODBCデータソースの設定が必要です。

 MS Queryの設定方法、使用方法については、@IT記事「Excelと外部データベースとを連携させる」を参照してください。ただし、この記事ではSQLServerに接続する場合の設定方法を記載しているため、設定が一部異なります。Oracleデータベースに接続する場合、「新規データソースの作成」ダイアログの「接続」ボタンを押下して表示されるダイアログには、以下の情報を入力してください。

サービス名 クライアントのtnsnames.oraで定義している接続識別子(※)
ユーザー名 Oracleデータベースユーザーの名前
パスワード Oracleデータベースユーザーのパスワード
詳細は、「意外と簡単!?OracleDatabase 10g:Windows版」の「クライアントからの接続」の章を参照してください。

 設定を終えれば、マウス操作でOracleデータベースのテーブルからデータを検索し、検索結果を表の形でExcelシート上に貼り付けることができます。MSQueryでは、単純な検索処理であれば簡単に実行することができます。ただし、より複雑な検索(Oracleデータベースの関数を使用した検索など)をGUI操作のみで行うことはできません。更新処理を行うこともできません。また、ユーザー部門の人に使ってもらうには操作が少し難しいかもしれません。

 もっとエンドユーザーが簡単に検索でき、さらに高度な検索もしたいという場合は、Excelのマクロの中でOracleデータベースへの接続・検索の処理を記述することになります。(次ページに続く)

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。