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タブを開き追加ボタンを押します。

・手順3
ODBCドライバーを選択します。
iSeries Access ODBC Driverを選択します。
↓
完了ボタンを押します。

※ODBCドライバー名はiSeries Access for Windowsやi5/OSのバージョンによって違う場合があります。
・手順4
ODBCソースの定義画面が表示されます。
以下を入力します。
一般タブデータソース名 任意
(例 AS42588)
システム接続するSystem i の名前

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

・手順6
ODBCデータソースが追加されます。

以上でODBCデータソースの定義は完了です。
・ODBCのパフォーマンス調整について
手順6のODBCデータアドミニストレーター画面でパフォーマンスタブを開くとパフォーマンスチューニング用のパラメーターが表示されます。

業務運用してパフォーマンス上問題がある場合はこの画面からODBCの設定を変更して、チューニングを行うことが出来ます。
例えば以下の レコードブロック化サイズなどはODBCでアクセスするデータのサイズに応じて変更するとパフォーマンスが向上する場合があります。最適なサイズはアプリケーションやデータ量によって変化するためテストを実行して最適な値を決定するひつようがあります。

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

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

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

・手順10
テーブル内の検索したい列を選択して
ボタンを押します。

右側のウィンドウに列が追加されます。
・手順11
カラムのデータによってレコード選択することもできます。

ここでは何も指定せずにそのまま次へボタンを押します。
・手順12

並べ替え順序も指定可能です。
ここでは何も指定せずにそのまま次へボタンを押します。
・手順13
ウィザード完了画面が表示されます。

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

そのままOKボタンを押します。
・手順15
ExcelにSystem iのデータが返されます。

内容を確認したらExcelを終了します。
ファイルは保管しないを選択します。
以上でExcelからDB2 UDB for System i をアクセスする手順は完了です。
ODBC,ADOについて
MS Excel(MS Query)ではデータは読み取りモードでアクセスするのでSystem
i上のデータベースを更新することは出来ません。
MS AccessやVBのプログラムなどからODBCアクセスをするとSystem i上のデータベースを更新することが出来ます。
またVBアプリケーションなどからADOというより高速なアクセス方法も使用することも出来ます。