本文へジャンプ

第18回 ODBCを使用したExcelからのアクセス

System i スペシャリストが教えるV5 ちょっと、イイ話

Tab navigation

 

ODBCでExcelからDB2 UDB for System i にアクセスする

ここではMS Excelを使用してSystem i のデータベースにアクセスする方法を説明します。

事前準備
MS ExcelからSystem i のデータベースにアクセスするには、PC に事前にODBCドライバーを導入して、System i へのODBC データソースを定義しておく必要があります。
ODBCドライバーはiSeries Access for Windowsの導入と同時に導入することが出来ます。

ODBCドライバーの導入
ODBCドライバーはiSeries Accessのオプションとして導入されます。
iSeries Accessを通常セットアップするか、選択セットアップから以下のコンポーネントを指定することで ODBCドライバーがPCに導入されます。

iSeries Accessの導入画面より
データアクセス → ODBC 装置選択機構の画面

実行手順
・手順1 ODBCデータソースの追加
System iに対するODBCデータソースを追加します。
Windowsのコントロールパネルから管理ツールを開始します。
データソース(ODBC)をダブルクリックします。
管理ツールの画面

・手順2
ユーザーDSNタブまたはシステムDSNタブを開き追加ボタンを押します。
ODBCデータソースの画面

・手順3
ODBCドライバーを選択します。

iSeries Access ODBC Driverを選択します。
    ↓
完了ボタンを押します。

データソース新規作成の画面

※ODBCドライバー名はiSeries Access for Windowsやi5/OSのバージョンによって違う場合があります。

・手順4
ODBCソースの定義画面が表示されます。

以下を入力します。
一般タブデータソース名 任意
(例 AS42588)

システム接続するSystem i の名前

実行手順4

・手順5
サーバータブライブラリーリストExcelからアクセスするスキーマ名を追加します。
例 AS42588
    ↓
OKボタンを押します。

実行手順5

・手順6
ODBCデータソースが追加されます。
ODBCデータソースの画面
以上でODBCデータソースの定義は完了です。

・ODBCのパフォーマンス調整について
手順6のODBCデータアドミニストレーター画面パフォーマンスタブを開くとパフォーマンスチューニング用のパラメーターが表示されます。
ODBCデータアドミニストレーター画面
業務運用してパフォーマンス上問題がある場合はこの画面からODBCの設定を変更して、チューニングを行うことが出来ます。

例えば以下の レコードブロック化サイズなどはODBCでアクセスするデータのサイズに応じて変更するとパフォーマンスが向上する場合があります。最適なサイズはアプリケーションやデータ量によって変化するためテストを実行して最適な値を決定するひつようがあります。
ODBC のパフォーマンス調整について2

・手順7 ExcelからMS Query(MS クエリ)を起動してSystem i にアクセスする
次にMS Excelを起動します。
MS Excelのメニューから
データ → 外部データの取り込み → 新しいデータベースクエリを選択します。
ExcelからMS Queryを起動してSystem iにアクセスする画面

・手順8
データソースの選択画面が表示されます。
手順1~6で作成したODBCデータソース名を選択してOKボタンを押します。
実行手順8

・手順9
MS Queryのウィザードが開始されます。
テーブルTOKMSPをクリックして選択します。
MS Queryのウィザード画面

・手順10
テーブル内の検索したい列を選択してMS Queryのウィザード画面ボタンを押します。
MS Queryのウィザード画面
右側のウィンドウに列が追加されます。

・手順11
カラムのデータによってレコード選択することもできます。
MS Queryウィザードデータ抽出画面
ここでは何も指定せずにそのまま次へボタンを押します。

・手順12
手順12
並べ替え順序も指定可能です。
ここでは何も指定せずにそのまま次へボタンを押します。

・手順13
ウィザード完了画面が表示されます。
手順13
そのまま完了ボタンを押します。

・手順14
Excelのどのワークシートにデータを戻すか指定するウィンドウが表示されます。
実行手順14
そのままOKボタンを押します。

・手順15
ExcelにSystem iのデータが返されます。
手順15
内容を確認したらExcelを終了します。
ファイルは保管しないを選択します。

以上でExcelからDB2 UDB for System i をアクセスする手順は完了です。

ODBC,ADOについて

MS Excel(MS Query)ではデータは読み取りモードでアクセスするのでSystem i上のデータベースを更新することは出来ません。
MS AccessやVBのプログラムなどからODBCアクセスをするとSystem i上のデータベースを更新することが出来ます。
またVBアプリケーションなどからADOというより高速なアクセス方法も使用することも出来ます。