2018年8月1日水曜日
SQLCLI について(SQLCLI の特徴2)
SQLCLIを使用すれば、ソケット通信と組み合わせて、クライアントからのSQL要求を汎用的に処理するサーバ側RPGLEソフトウェアも作成することができます。
例えば、MS-Accessを使用してIBM i のRDBMSにアクセスする場合、一般的にはADOでIBM i Client Access ODBC Driverを使用しますが、VBAでソケット通信機能をコーディングすれば、ADOやODBC Driver無しでIBM
i のデータベースに、SQL文でアクセスすることが可能になります。
しかし、実際に疑似環境を作成してやってみると、ADO + ODBC Driverでの接続の方が処理速度が圧倒的に速く、SQLCLIを使用した汎用的RPGLE処理プログラムでは太刀打ちできませんでした(笑)。
やはり、長年練られてバージョンアップを重ねてきた製品と、テストのために適当なメッセージ・フローをその場で考えて作成したものとでは、比較になりません。
AccessのVBAでは、NativeなWindowsのソケットAPIを使用せず、サードパーティ製のものを使用したことも関係しているのかもしれません。
これはこれで、16進のx’00’が送受信データに含まれていると、その手前で受信が終了してしまうとか、複数のフィールド値の羅列をどのような区切り文字で送信するかなど、様々な苦労がありましたが、SQLCLIとは関係が無いので割愛します。
やはり、多くの人がかかわった熟成されたメッセージ・フローは偉大ですね。
SQLCLIを使用せず、専用のアプリケーションとして、RPGLEの持つ本来のREAD/WRITE命令を使用すれば、通信メッセージ・フローを考慮する事を前提として、速度的には遜色のないものになるかもしれませんが、サブジェクトから逸れるので、この文中では取り上げません。
登録:
コメントの投稿
(
Atom
)
0 件のコメント :
コメントを投稿