クライアントへの大きなデータの送信

大きなデータをクライアントに送る場合、考慮すべき4つの問題があります。

エンジンによるデータビューの送信

メモリ上の制限は、各クライアント側のPCに依存します。メモリの上限を超えた場合、Magicエンジンが異常終了する場合があります。従って、[タスク特性]の[チャンクサイズ]特性に適切な値を設定することでメモリの割り当てをコントロールする必要があります。チャンクサイズの指定値は、1レコードのサイズと利用するPCで利用可能なメモリ容量に依存します。

[チャンクサイズ]特性を「1」に設定すると、1度に1レコードずつ送信されます。

通信

送受信の両方で対応した場合、通信のための時間を十分に確保できるように適切なHTTPタイムアウトを設定する必要性が発生します。

表示モード

スクリーンモードの場合は、1レコード分のみメモリを使用しますが、ラインモード([テーブル]コントロールを使用する)のフォームは、各ページ毎にテーブルのサイズ分のメモリを使用します。スクリーンモードで表示させるようにして必要なレコードのみを取得することで、クライアント側で使用するメモリーをコントロールすることができます。

BLOB

リッチクライアントプログラム内で、データビューとして多くのコンテンツをBLOB項目として含めている場合、BLOBデータはサーバとクライアント間で受け渡しが行われ、プログラムの処理速度を低下させる原因となります。

このような場合、データビューにBLOB項目を定義しないようにするか、サーバ側でBLOB項目を使用するのであれば、専用のバッチタスクを作成することを推奨します。