技術情報に関して更新します。(月1更新予定)

2018年8月1日水曜日

SQLCLI について(SQLCLI の特徴2)

0 件のコメント :

SQLCLIを使用すれば、ソケット通信と組み合わせて、クライアントからのSQL要求を汎用的に処理するサーバ側RPGLEソフトウェアも作成することができます。

例えば、MS-Accessを使用してIBM i RDBMSにアクセスする場合、一般的にはADOIBM i Client Access ODBC Driverを使用しますが、VBAでソケット通信機能をコーディングすれば、ADOODBC Driver無しでIBM i のデータベースに、SQL文でアクセスすることが可能になります。

しかし、実際に疑似環境を作成してやってみると、ADO + ODBC Driverでの接続の方が処理速度が圧倒的に速く、SQLCLIを使用した汎用的RPGLE処理プログラムでは太刀打ちできませんでした(笑)。

やはり、長年練られてバージョンアップを重ねてきた製品と、テストのために適当なメッセージ・フローをその場で考えて作成したものとでは、比較になりません。
AccessVBAでは、NativeWindowsのソケットAPIを使用せず、サードパーティ製のものを使用したことも関係しているのかもしれません。

これはこれで、16進のx’00’が送受信データに含まれていると、その手前で受信が終了してしまうとか、複数のフィールド値の羅列をどのような区切り文字で送信するかなど、様々な苦労がありましたが、SQLCLIとは関係が無いので割愛します。
やはり、多くの人がかかわった熟成されたメッセージ・フローは偉大ですね。

SQLCLIを使用せず、専用のアプリケーションとして、RPGLEの持つ本来のREAD/WRITE命令を使用すれば、通信メッセージ・フローを考慮する事を前提として、速度的には遜色のないものになるかもしれませんが、サブジェクトから逸れるので、この文中では取り上げません。

0 件のコメント :

コメントを投稿