4D Server と 4D ランゲージ

4D - Documentation   French   English   German   日本語   4D Serverテーマリスト   4D Serverインデックス   戻る   前   次

version 11.2 (Modified)


4D Serverで、サーバマシン上で4Dコードを実行する状況が4つあります:

・トリガ

・ストアドプロシージャ

・"サーバ上で実行"属性が設定されたプロジェクトメソッド

・データベースメソッド

トリガ


トリガはテーブルに付属するメソッドです。トリガを使用すれば、データベースのレコードに対して"不正な"操作が行われるのを防ぐことができます。トリガは、偶発的にデータが失われたり、変更されたりするのを防ぐだけでなく、テーブルに対する操作を制限するための非常に強力なツールです。例えば、請求システムにおいて、誰かが請求先である顧客を指定せずに請求書を追加するのを防止することができます。

トリガは、データベースエンジンが実際に存在するマシン上で実行されます。

4D Serverでは、トリガはクライアントマシンではなく、サーバマシン上で実行されているプロセスのコンテキストで実行されます。すなわちトリガは、データベース処理を呼び出したユーザプロセスに対応するサーバプロセスのコンテキストで実行されます (特にトランザクションの状態とレコードロック) が、ランゲージコンテキスト (変数、プロセス、セット、カレントセレクション) は共有しません。ただしトリガテーブルのカレントレコードはすべてのコンテキストで同じです。

トリガについては4D Language Referenceのトリガを参照してください。

ストアドプロシージャ


4Dのストアードプロシージャは、それを起動したクライアントマシンの代わりに、サーバマシン上で実行されるプロセス内のプロセスメソッドを実行するプロジェクトメソッドです。ストアドプロシージャを参照してください。

"サーバ上で実行" 属性付きのメソッド


"サーバ上で実行"の属性が指定されたプロジェクトメソッドもサーバ上で実行されます。しかしストアドプロシージャと異なり、このメソッドはクライアントプロセスに対応するサーバ上のプロセスで実行され、トリガのように、サーバ上で実行属性を参照してください。

データベースメソッド


4つのデータベースメソッドがサーバマシン上でのみ実行されます:

On Server Startup データベースメソッド

On Server Shutdown データベースメソッド

On Server Open Connection データベースメソッド

On Server Close Connection データベースメソッド

他の5つのデータベースメソッドはコンテキストに応じてサーバマシンおよびクライアントマシン両方で実行されます:

On Web Authentication データベースメソッド

On Web Connection データベースメソッド

On SQL Authentication データベースメソッド

On Backup Startup データベースメソッド

On Backup Shutdown データベースメソッド

3つのデータベースメソッドはクライアントマシン上でのみ実行されます:

On Startup データベースメソッド

On Exit データベースメソッド

On Drop データベースメソッド

詳細はこのマニュアル内および4D Language Reference マニュアルのそれぞれ対応する節を参照してください。

4D Server と変数


・4D Server はインタープロセス変数テーブルを1つ維持します。これらの変数の有効範囲はサーバマシンです。コンパイルしたデータベースを実行している場合、インタープロセス変数テーブルの定義は、サーバマシンとすべてのクライアントマシンとで共通です。各マシンはそれぞれ独自のインスタンスを保持します。

・すべてのプロセスと同様、それぞれのストアドプロシージャ、データベースメソッド、トリガは独自のプロセス変数テーブルを持ちます。これらのプロセス変数は実行の各フェーズの間、動的に作成、使用されます。

4D Serverのセットと命名セレクション


4D Serverのいて、セットと命名セレクションの可視範囲はそれが作成された場所 (サーバプロセスまたはクライアントプロセス) およびそのオブジェクトタイプ (ローカル、プロセス、またはインタープロセスオブジェクト) に基づきます。詳細は4D Server, セットと命名セレクションを参照してください。


4D - Documentation   French   English   German   日本語   4D Serverテーマリスト   4D Serverインデックス   戻る   前   次