DFU, Query, SQL

39. 作って理解する SQLストアド・プロシージャー (2)

i5.OS で提供されている ODBCドライバー

ストアド・プロシージャーが馴染み薄いものである理由のひとつには

OS内部だけでテストすることは難しいと思われていることである。

OS内部で ODBCクライアントを RPG などの既存の技術で作ることができないので

RPG や COBOL の技術者が開発できないものと思われていた。

ODBC のテストと言えば PCクライアントに別のアプリケーションを用意して

PC からのみアクセスするものと思われていたのである。

したがって、ストアド・プロシージャーも ODBC からしかアクセスできないものと思われていた。

しかし、実は通信のテストが内部通信でテストできるように、ODBC もまた

内部でテストできるように OS内部用の ODBCドライバーが System i には用意されているのである。

IBM も、もう少しこのことをわかりやすく解説していればストアド・プロシージャーも、

もう少し普及したに違いない。

さて、SQL によって扱われるデータ・ベースは System i の中では

「リレーショナル・データ・ベース」と呼ばれており、一般的なデータ・ベースとは別の扱いになっている。

コマンド入力画面において GO CMDRDB (RDB = Relational Data Base) と打鍵して

実行キーを押すと次のようなメニューが表示される。

 

 

このメニューのうちで「 5. RDB ディレクトリー項目の処理 (WRKRDBDIRE) 」を

選択すると次の画面のように ODBCドライバーが既に登録されていることがわかる。

 

 

このように、システム名と同じ名前の ODBCドライバーが、導入時にも既に導入されていることがわかる。

この ODBCドライバーを使うと内部処理として System i の中だけで ODBCドライバーによる

ストアド・プロシージャーのアクセスを行うことができる。

つまり、RPG や COBOL で ODBCアプリケーションを開発して、

この ODBCドライバー経由でストアド・プロシージャーにアクセスすることができるのである。

このことは、IBMマニュアルにもほとんど解説されていないので開発者には System i の内部だけで

ODBCアプリケーションをつくることはできないものと思われていたのである。

このシリーズでは、この ODBCドライバーを利用してストアド・プロシージャーにアクセスする手法を

紹介していく。