4D v16

4D Serverと4Dランゲージ

ホーム

 
4D v16
4D Serverと4Dランゲージ

4D Serverと4Dランゲージ  


 

 

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

  • トリガ
  • ストアドプロシージャ
  • "サーバ上で実行"属性が設定されたプロジェクトメソッド
  • データベースメソッド

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

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

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

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

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

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

他の5つのデータベースメソッドはコンテキストに応じてサーバマシンおよびクライアントマシン両方で実行されます:3つのデータベースメソッドはクライアントマシン上でのみ実行されます:詳細はこのマニュアル内および4D Language Reference マニュアルのそれぞれ対応する節を参照してください。

  • 4D Server はインタープロセス変数テーブルを1つ維持します。これらの変数の有効範囲はサーバマシンです。コンパイルしたデータベースを実行している場合、インター プロセス変数テーブルの定義は、サーバマシンとすべてのクライアントマシンとで共通です。各マシンはそれぞれ独自のインスタンスを保持します。
  • すべてのプロセスと同様、それぞれのストアドプロシージャ、データベースメソッド、トリガは独自のプロセス変数テーブルを持ちます。これらのプロセス変数は実行の各フェーズの間、動的に作成、使用されます。

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

 
プロパティ 

プロダクト: 4D
テーマ: 4D Serverと4Dランゲージ

 
履歴 

 
タグ 

Twin Process, twins

 
ARTICLE USAGE

4D Server ( 4D v16)