Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

9.26 CONNECT_FILE

Note
title注意

 9.1 組み込み関数の規則     利用オプション

指定された物理ファイル(およびそれに基づくビュー)に対する後続の全I/O要求をサーバーに再経路指定するようにLANSAを準備します。詳細については、「14.2.1 データベース接続」を参照してください。

ファイル接続の確立は非常に高速で、時間はほとんどかかりません。経路指定テーブルを更新するだけで、サーバーとの通信はまったく行われません。 

...

番号

タイプ

必須/任意

記述

最小長

最大長

最小小数桁数

最大小数桁数

1

A

必須

物理ファイル\テーブル名

この名前は大文字で指定する必要があります。 

指定された名前に対する妥当性検査や、この名前が存在するかどうかの確認は行われません。 

名前は総称名で指定することが可能です。総称名の区切り文字としては、'*'を使用してください。

1

10



2

A

必須

定義されているサーバーのSSN

1

10



3

N

任意

選択 CONNECT_FILE ブロック・サイズの使用

デフォルト = 50

Note
title注意1

注1:RETURN_RRNパラメータと一緒にSELECTループで使用されるファイルに対しては、ブロック・サイズ1を使用する必要があります。 
これより大きいブロック・サイズを使用すると、RETURN_RRNの戻り値が予期できない値になります。

Note
title注意2

注2:SELECTループで使用され、WITH_KEYまたはWITH_RRNパラメータを持たないDELETEコマンドまたはUPDATEコマンド(最新の読み込んだレコードの更新または削除)によって変更されるファイルに対しては、ブロック・サイズ1を使用する必要があります。

Note
title注意3

注3:選択するフィールドのいずれかがBLOBまたはCLOBで、このためサーバーからクライアントにファイルを送信する必要がある場合、SELECTプロセスにブロック・サイズ1を使用したかのような振る舞いになります。

1

10

0

0

4

N

任意

選択制限値

選択制限値。このオプションは、プログラムで選択ループをこのオプションは、プログラムで選択ループを'n'行に制限するものではありません。この目的に使用しないでください。

暴走した(すなわち、制御不能の)SELECTループによる大量データの転送を阻止するよう設計されています。 

選択制限値を超えると、致命的なアプリケーション・エラーが発生します。このエラー状況で返される行数は未確定です。 

デフォルト = 10000

1

10

0

0

...

  • ファイルの使用中(サーバーに接続していないか、別のサーバーに接続するファイルに対するSELECTループの実行中など)に、そのファイルに対する接続要求を実行すると、アプリケーション・エラーまたは予期しない結果が発生します。
  •  どのような場合でも、この組み込み関数を使用して、LANSA/ADの内部データベース・ファイルDC@Fnnをアプリケーションに接続することはできません。この点については検査されませんが、ルールには従うようにしてください。
  • 全面的に、LANSA SuperServer機能は、いかなる方法または形式においても複数メンバー・ファイルをサポートしていません。複数メンバー・ファイルにアクセスするサーバー・ファンクションを実行あるいは呼び出す方法を工夫することは不可能ではありませんが、その機能はサポートされていないこと、また、IBM iに100%依存していることを覚えておいてください。この機能からIBM iベースのI/Oモジュールが呼び出されると、現行のライブラリ・リスト(*LIBL)からIBM i の論理的な最初のメンバーとして(通常は*FIRSTというシンボル名で)必要なファイル・メンバーが開きます。 クライアント・ベースのファンクション(ライブラリ*LIBL、メンバー*FIRSTを使用)とサーバー・ベースのファンクション(ライブラリおよび/またはメンバーに対するPOINTコマンドを使用)を同時に実行し、両方のファンクションが同じファイルにアクセスする場合は、メッセージIOM0033が発行され、関連するI/Oモジュールにエラーが発生します。これは、クライアントのファンクションのPOINTコマンドが存在するかどうかに関係なく発生します。すべてのVisual LANSA(クライアント)環境では、POINTコマンドは無視されます。
  • すべての「接続」のロジックは、多数のRDMLファンクションに分散させるのではなく、1つのファンクションだけにコーディングすることを強くお勧めします。このようにすることで、将来サーバーに対して加えられる変更からアプリケーションを保護することができます。
  • すでにあるサーバーに接続しているファイルに対して、同じサーバーへの接続要求を行ってもエラーにはなりません。接続しようとしたファイルがすでに接続中の場合は、選択ブロックと選択制限値が更新されます。この技法は、選択ブロック/制限値をダイナミックに変更する場合には使用できますが、I/O操作が保留中(SELECTループの実行中)の場合は除きます。
  • ファイル名がブランクのファイルには接続を試みないでください。
  • ファイルを総称名(LM*、GL*、*など)にする場合は、総称名が重複しないように十分注意してください。このルールが守られないと、予期しない結果を招きます。このルールでは、"*"(任意の名前)を使用してファイルを指定する際は、名前そのものが一致する場合のみ指定可能です。つまり、"*"の前後の名前による接続ファイルは重複することになります。
  • サーバー・マシンから任意の形式で送付されるメッセージ情報は、テキスト形式で届きます。これは、純粋なテキストとして通常の方法(例:GET_MESSAGE)でRDMLファンクションに表示およびアクセスすることができます。サーバーから送付されたメッセージについては、メッセージIDおよびメッセージ・ファイル名などの詳細はわかりません。アプリケーション・メッセージ待ち行列から特定のメッセージIDを読み取るようなクライアント・アプリケーションを設計すべきではありません。

...