まずはExcelVBAを使ってODBC経由で汎用機のデータベースにつながるかの実験である。

まずSelect文を投げる実験をしてみたが、意外なほどあっさりとつながり、拍子抜けした。しかし、この簡単さとは裏腹に、いくつかのトラブルに遭遇する事になった。


実験時のトラブルをいくつか挙げる。

まず、文字が化けてしまう事。Windowsのデータベースではそういうことはなかったので躓いた。汎用機との文字コードとの違いは重々理解していたつもりだ。問題はどこで文字コードを変換しているか、だ。通常、PCで汎用機の画面を表示させる際のコード変換はエミュレータで行う。データを転送する際もエミュレータ経由であるから、そこでまかなうはず。
データベース接続の場合なら、エミュレータかODBCドライバとが思い当たった。その少し前にエミュレータの文字コード変更があったこともあり、そのときの感覚からしてエミュレータではないのでは?ということでODBCから確認することにした。すると、DB2のODBCには結構詳細な設定項目があった。この設定を調整する事で文字化けは解消した。

次に、負荷の問題。知らなかったが、どうやらデータベースアクセスは汎用機上でかなり優先度が高い処理として扱われるようだった。そのため、データベースをJoinした場合、かなり高負荷がかかり、汎用機をフリーズさせるような事態を引き起こしてしまった。上司は本来始末書モノだったそうだが、たまたまゴールデンウィークの間で、利用者が少なかったのでお咎めなしとなったそうだ。
これにより、汎用機とPC間のデータの転送量を減らす事よりも、汎用機上の処理負荷を下げてPC上で加工するように設計変更を行うことにした。


実験段階を経て、本格的に作成することになった。