[ |../../index.htm#lansa/disconnect_server.htm]
現在地:
9.51 DISCONNECT_SERVER
注意: 9.1 組み込み関数の規則 利用オプション
接続されたサーバーから現在のファンクションを切断します。
すでに切断済みのサーバーに対する切断要求は無視されます。エラーにはなりません。
引数
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
A |
必須 |
定義されているサーバーのSSN |
1 |
10 |
|
|
戻り値
番号 |
タイプ |
必須/任意 |
記述 |
最小長 |
最大長 |
最小小数桁数 |
最大小数桁数 |
1 |
A |
必須 |
戻りコード |
2 |
2 |
|
|
技術上の注記
- サーバーを使用中 (サーバーに接続されたファイルに対するSELECTループの実行中など) に、そのサーバーに対する切断要求を実行すると、アプリケーション・エラーまたは予期しない結果が発生します。
- 「切断」のロジックは、多数のRDMLファンクションに分散させるのではなく、1つのファンクションだけにコーディングすることを強くお勧めします。このようにすることで、将来サーバーに対して加えられる変更からアプリケーションを保護することができます。
- サーバーの切断が実際に必要とされることはありません。X_RUNコマンドは終了するときに接続済みのサーバーをすべて自動で切断するからです。
- データベース・サーバーに対して実行すると、実際のデータベース接続が切断されますが、そのデータベースに対してさらにIOを実行すると、接続が自動的に再確立されます。
エラー処理に関する注意事項
複雑なエラー処理スキームをご使用のアプリケーションに組み込むことは避けるよう、強くお勧めします。アプリケーションのすべてのレベルで、以下のようなごく単純なトラップを使用するようにしてください。
if (#retcode *ne OK)
abort msgtxt('Failed to .............................')
endif
標準的なエラー処理を行う組み込み関数を生成されるアプリケーションに組み入れて、問題に対処するようにしてください。ユーザー定義のエラー処理ロジックが非常に複雑になったために全RDMLコードの40~50%を占有するようなケースもあります (アプリケーションには何のメリットもありません)。このような事態に陥らないようにしてください。
[ |../../index.htm#lansa/disconnect_server.htm]