4D v12.4SET DATABASE PARAMETER |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SET DATABASE PARAMETER
|
SET DATABASE PARAMETER ( {aTable ;} selector ; value ) | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
パラメータをセットするテーブル、または 省略時、デフォルトテーブル | |||||
selector | 倍長整数 |
![]() |
変更を行うデータベースパラメタのコード | |||||
value | 実数, 文字 |
![]() |
パラメタの値 | |||||
SET DATABASE PARAMETERコマンドを使用して、4Dデータベース内部の様々なパラメーターを変更することができます。
selectorには、変更するデータベースのパラメタを指定します。4Dは“Database Parameters”テーマに定義済の下記のような定数があります。次の表は、各定数とその有効範囲、またその設定が2つの異なるセッションで保持されるかを示しています:
定数 | 型 | 値 | コメント |
Seq Order Ratio | 倍長整数 | 1 | **** このセレクターは無効です **** |
Seq Access Optimization | 倍長整数 | 2 | **** このセレクターは無効です **** |
Seq Distinct Values Ratio | 倍長整数 | 3 | **** このセレクターは無効です **** |
Index Compacting | 倍長整数 | 4 | **** このセレクターは無効です **** |
Seq Query Select Ratio | 倍長整数 | 5 | **** このセレクターは無効です **** |
Minimum Web Process | 倍長整数 | 6 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes とりうる値: 0 -> 32 767 説明: ローカルモードの4Dならびに4D Serverを使用した場合に、非コンテキストモードで保持するWebプロセスの最小数。デフォルト値は0(下記参照)。 |
Maximum Web Process | 倍長整数 | 7 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes とりうる値: 0 -> 32 767 説明: 非コンテキストモードでのWebサーバの反応を良くするため、4Dは5秒間Webプロセスを遅延させ、将来やってくるかもしれないHTTPクエリを処理する際、それを再利用します。パフォーマンスの観点では、クエリごとに新しいプロセスを作成するよりも、再利用したほうが実際に有利です。Webプロセスが再利用されると、さらに5秒間遅延されます。Webプロセスが最大数に達するとプロセスがアボートされます。5秒の遅延以内にWebプロセスがクエリを受け取らない場合、Webプロセスの最小数を下回らなければ、プロセスはアボートされます。最小数未満になる場合、プロセスは再度遅延されます。 これらの引数は、リクエスト数や利用可能なメモリ、その他のパラメタに応じて、Webサーバの動作を調整できるようにするものです。 |
Web Conversion Mode | 倍長整数 | 8 | スコープ: カレントプロセス 2セッション間で設定を保持: No とりうる値: 0, 1, 2 または 3
このモードは、SET DATABASE PARAMETERが呼び出されたプロセス(Webコンテキスト)に対してのみ設定されます。このコマンドは、メソッド内で呼び出してデータベースのすべてのフォームを確実に統一したり、あるいは特定のフォームを表示する前にのみ呼び出すこともできます。このコマンドは、コンテストモード、またはWebプロセス以外の場所から呼び出すと、何も行いません。 |
Database Cache Size | 倍長整数 | 9 | スコープ: 4D アプリケーション 2セッション間で設定を保持: - 説明: 最大キャッシュサイズは環境設定の"データベース/データ管理"ページで設定できます。しかしデータベースキャッシュに実際に割り当てられる値は設定とシステムの現在のリソースに基づきます。このセレクタを使用すれば4Dによりデータベースに割り当てられた実際のメモリサイズを取得できます。 警告: ランゲージを使用してデータベースキャッシュメモリサイズを設定することはできません。言い換えればDatabase Cache SizeをSET DATABASE PARAMETERコマンドで使用することはできません。 |
4D Local Mode Scheduler | 倍長整数 | 10 | スコープ: 4Dアプリケーション 2セッション間で設定を保持: Yes 説明: セレクタ12参照 |
4D Server Scheduler | 倍長整数 | 11 | スコープ: 4D アプリケーション 2セッション間で設定を保持: Yes 説明: セレクタ12参照 |
4D Remote Mode Scheduler | 倍長整数 | 12 | スコープ: 4D アプリケーション 2セッション間で設定を保持: Yes とりうる値: セレクタ10, 11 および 12に対し、value引数は16進数、0x00aabbccの形式で表わされます。詳細は次の通りです: aa = システムへのコール毎の最小tick数(0~100) bb = システムへのコール毎の最大tick数(0~100) cc = システムへのコール間のtick数(0~20) これらの値が範囲外のとき、4Dはその値を最大数に設定します。value引数には、次の定義済標準値のうちいずれかを渡すことができます:
Note: セレクタ=12(4D Remote Mode Scheduler)は、SET DATABASE PARAMETERコマンドがサーバーマシン上で実行されるか、クライアントマシン上で実行されるかにより異なります:
この動作を使用することで、クライアントマシン毎に異なる特性をダイナミックに扱うことが可能です。これはコマンドの実行がまず、ぞのクライアントマシンの設定に影響し、その後にサーバに接続するすべてのクライアントマシンへの設定値として使用されるという動作に基づきます。 警告: これらのセレクタを不適切に使用すると、アプリケーションパフォーマンスが深刻に低下する原因となります。これらの要素に対する完全な知識がある場合のみ変更を行うことをお勧めします。 |
4D Server Timeout | 倍長整数 | 13 | スコープ: value が正数なら4Dアプリケーション 2セッション間で設定を保持: value が正数ならYes とりうる値: 0 -> 32 767 説明: この引数を使用して、4D Serverのタイムアウトの値を変更することができます。4D Serverのタイムアウトのデフォルト値は、サーバ側の「環境設定」ダイアログボックスの「クライアント-サーバ/接続設定」ページで定義します。 セレクタ4D Server Timeoutにより、対応する引数valueの新しいタイムアウト(分単位で指定)を設定できます。この機能は、クライアント側でCPUを占有する、時間がかかる処理を実行する前に、タイムアウト設定を長くしたい場合は特に便利です。例えば、膨大なページの印刷などは、予期しないタイムアウトになる可能性があります。 2種類のオプションがあります:
|
4D Remote Mode Timeout | 倍長整数 | 14 | スコープ: value が正数の場合4D アプリケーション 2セッション間で設定を保持: value が正数の場合Yes 説明: この引数を使用して、4D Serverに接続したリモートの4Dマシンが参照するタイムアウト値を設定できます。リモートモードの4Dが使用するデフォルトのタイムアウト値は、リモートマシン上の環境設定の“クライアント-サーバ/設定”ページで設定されます。 このセレクタに関する詳細は4D Server Timeout (13) の説明を参照してください。4D Remote Mode Timeout セレクタは非常に特殊な状況において使用されます。 |
Port ID | 倍長整数 | 15 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: No 説明: Port IDセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。TCPポートIDに関する詳細は、の節を参照してください。 |
IP Address to listen | 倍長整数 | 16 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes 説明: この引数を使用して、ローカルモードの4Dおよび4D Serverによる4D WebサーバがHTTPリクエストを受信するIPアドレスを、ユーザがオンザフライで変更できます。デフォルトで、特定のアドレスは定義されていません(value=0)。この引数は環境設定ダイアログボックスで設定できます。 IP Address to listenセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、デザインモードへのアクセス手段がありません)。 value引数には、16進数のIPアドレスを渡します。つまり、“a.b.c.d”のようなIPアドレスを指定するには、以下のようなコードを作成します:
IPアドレスの設定方法に関する詳細はWebサーバ設定を参照してください。 |
Character set | 倍長整数 | 17 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes 説明: この引数は環境設定ダイアログボックスで設定できます。Character setセレクタは、コンパイルして4D Desktopを組み込んだ4D Webサーバで役立ちます(この場合、「デザイン」モードへのアクセス手段がありません)。 値: 取りうる値は、文字セットに関連するデータベースの動作モードによります。
Note: Character set引数のコンテキストでは、Get database parameter コマンドはオプションのstringValue引数に、文字セットのIANA名が返されます。 Note: IANAに定義されていない特別な文字セット (1258=x-mac-japanese) を使用することができます。これはWindows上ではコードページ10001に、Mac上ではkTextEncodingMacJapaneseにマップされています。
Note: Unicodeモードに関する詳細は、selector 41を参照しください。 |
Max Concurrent Web Processes | 倍長整数 | 18 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes 値: 10から32 000までの任意の数。デフォルト値は100。 説明: この引数により、同時に行われる非常に膨大な数のリクエストやコンテキスト作成に関する過大な要求の結果として、4D Webサーバが飽和状態になることを防ぐことができます。また、この引数は環境設定ダイアログボックスでも設定できます(の節を参照)。 理論上、Webプロセスの最大数は次の計算式の結果になります: 使用可能メモリ/Webプロセスのスタックサイズ。別の解決策は、ランタイムエクスプローラに表示されるWebプロセス情報を可視化する方法です。つまり現在のWebプロセス数およびWebサーバの開始以降に達した最大数を表示します。 Note: "プロセスプール"の上限数より小さい値を渡した場合、この上限数はセレクタ18の値に合わせるために減らされます。必要であれば、再利用の下限数(セレクタ6、Minimum Web Process)も変更されます。 |
Client Minimum Web Process | 倍長整数 | 19 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ6参照 説明: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client Maximum Web Process | 倍長整数 | 20 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ7参照 Description: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client Max Web requests size | 倍長整数 | 21 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ27参照 説明: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client Port ID | 倍長整数 | 22 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ15参照 Description: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client IP Address to listen | 倍長整数 | 23 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ16参照 説明: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client Character set | 倍長整数 | 24 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ17参照 Description: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、 Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Client Max Concurrent Web Proc | 倍長整数 | 25 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: セレクタ18参照 説明: このセレクタを使用して、Webサーバとして使用する4Dクライアントマシンの動作パラメタを指定できます。これらのセレクタを用いて指定された値は、Webサーバとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスを使用してください。 |
Cache writing mode | 倍長整数 | 26 | |
Maximum Web requests size | 倍長整数 | 27 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes とりうる値: 500 000~2 147 483 648. 説明: Webサーバが処理を許可された受信HTTPリクエスト(POST)の最大サイズ(バイト単位)。デフォルトでこの値は2,000,000 (2MBより少し少ない値) です。最大値(2,147,483,648)を渡すと、実際上は制限がなくなります。 この制限は、受信するリクエストが大きすぎるためにWebサービスが飽和してしまうことを回避するために使用します。リクエストがこの制限に達すると、4D Webサービスはリクエストを拒否します。 |
4D Server Log Recording | 倍長整数 | 28 | Scope: 4D Server, 4D リモート 2セッション間で設定を保持: No とりうる値: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。 説明: サーバマシンが受信した各リクエストをログファイルに記録するよう、4D Serverに指示することができます。このメカニズムが有効になると、データベースストラクチャと同じ階層にログファイルが作成されます。ファイルには"4DRequestsLogX"(Xはログのシーケンシャル番号)の名前が付けられます。ファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。 このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。この情報はアプリケーションの調整を行う場合や統計の目的で利用する場合に特に役立ちます。この情報を、例えばスプレッドシートソフトウェアに読み込んで処理することもできます。 Note: マニュアル操作により、ログの記録をOn/Offすることが出来ます。WindowsではCtrl+Alt+L、MacOSではCommand+Option+Lのショートカットです。 |
Web Log Recording | 倍長整数 | 29 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes とりうる値: 0 = 記録しない (デフォルト), 1 = CLFフォーマットで記録, 2 = DLFフォーマットで記録, 3 = ELFフォーマットで記録, 4 = WLFフォーマットで記録 説明: Webリクエストのログは"logweb.txt"という名前のテキストファイルに保存されます。このファイルは自動でストラクチャファイルと同階層のログフォルダ内に作成されます。このファイルのフォーマットは、渡した値により決定されます。Webログファイルフォーマットに関する詳細は、の節を参照してください。 このファイルは、4Dの環境設定内、"Web/詳細"ページからも有効にできます。 警告: フォーマット3および4はカスタムフォーマットであり、記録される内容を事前にアプリケーションの環境設定、“Web/ログフォーマット”ページで定義しなければなりません。事前定義せずにこれらのフォーマットを使用した場合、ログファイルは作成されません。 |
Client Web Log Recording | 倍長整数 | 30 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: 0 = 記録しない (デフォルト), 1 = CLFフォーマットで記録, 2 = DLFフォーマットで記録, 3 = ELFフォーマットで記録, 4 = WLFフォーマットで記録 説明: このセレクタの動作はセレクタ29と同じです。しかし対象はWebサーバとして使用されるすべての4Dクライアントマシンです。この場合、"logweb.txt"ファイルは4Dクライアントデータベースフォルダ (キャッシュフォルダ) のLogsサブフォルダに作成されます。特定のクライアントマシンにのみ設定を行いたい場合、4Dクライアントの環境設定を使用します。 |
Table Sequence Number | 倍長整数 | 31 | スコープ: 4D アプリケーション 2セッション間で設定を保持: Yes とりうる値: 任意の倍長整数値 説明: デフォルトで、この固有の番号は4Dが設定し、レコードの作成順に対応します。詳細はSequence numberコマンドのドキュメントを参照してください。 |
Real Display Precision | 倍長整数 | 32 | スコープ:4D アプリケーション 2セッション間で設定を保持: No とりうる値: 任意の正の倍長整数値 説明: このセレクタを使用すると、実数の表示アルゴリズムに基づき右から切り捨てられた意味のない数値の桁数を、変更したりあるいは取得したりできます。この値は、カレントアプリケーションおよびセッションに対して設定されます。 デフォルトで、このオプションの値は4です。0の値はデフォルト値が使用され、セッション中にパラメタが修正されなかったことを示します。 歴史的理由から、4Dは実数を10バイトに格納し、処理中にこの数字を8バイトに変換します(の節参照)。この処理は完全に透過的で計算にも影響しません。ただし、特定の計算結果が予期した通りには表示されない場合があります。例えば、4.1-4.09の計算で表示される結果は0.009999999999999780000ですが、0.01を検索すると正しい値が検索されます。 4Dは次のような方法で実数を表示します: 例えば、計算から得られた値が8.97499999999996158だとします(期待する値は通常8.975)。アルゴリズムに基づき、デフォルトでは末尾4桁(6158)を切り捨てた後、残った最後の数字が0もしくは9かを確認します。0の場合、アルゴリズムは先頭の0以下すべての端数が切り捨てられます。値が9の場合、先頭の9の前の位の数字を繰り上げます。例えば、この例題では、8.974999999999996158が8.975になります。 例えば8.974999999999986158のような結果が得られる場合もあります。この場合、末尾の数字(最後の4桁を切り捨てた後)が0でも9でもないため、値は正しく四捨五入されません。 特定のデータベースの特徴に合わせて、精度アルゴリズムを使用し四捨五入をする数の桁数を調整したいとします。この場合は、カスタムの値を渡してください。0(4Dの内部で選択される値)を除く数字は、精度アルゴリズムにより切り捨てられる桁数を表します。 この設定は数値の表示やその際の内部処理には影響しません。 |
TCP_NODELAY | 倍長整数 | 33 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No とりうる値: 0 または 1 (0 = 無効, 1 = 有効) 説明: TCP_NODELAY ネットワークオプションの使用を有効または無効に設定します。このオプションは、ネットワーク通信の最適化メカニズムを制御しているTCP/IP プロトコルの内部的な設定です。サーバマシン、クライアントマシンごとに個別の設定できます。サーバマシン、クライアントマシンともにデフォルトで1(オプションを使用する)に設定されています。 クライアント/サーバ接続をDSL またはVPN(Virtual Private Network)経由で確立している場合などの特定の状況においては、このオプションを無効にすることにより、顕著にアプリケーションパフォーマンスが向上するかもしれません。 このオプションを変更する場合、異なるクライアント/サーバ設定で充分のテストを実施し、慎重に作業を実施する必要があります。 設定値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。 |
Client Server Port ID | 倍長整数 | 35 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 0~65535 説明: 4D Server が(4D Client に対して)データベースを公開するために使用されるTCPポート番号をプログラムで変更するために使用します。デフォルト値は19813 です。 この値を変更すれば、TCPプロトコルを使用して、複数の4D クライアント/サーバアプリケーションを同じマシンで同時に使用することができます。その場合、それぞれのアプリケーションごとに異なるポート番号を設定します。 公開ポート番号は、ストラクチャファイルに記録されています。ローカルモードの4Dで設定することもできますが、クライアント/サーバ環境でのみ考慮されます。 値を変更した場合、新しい設定が有効になるためには、アプリケーションを再起動する必要があります。 |
WEDD Signature | 倍長整数 | 36 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 1から255文字の文字列 説明: この引数は、開かれたデータベース(ストラクチャファイルおよびデータファイル)のWEDD署名を更新するために使用します。デフォルト値は空文字(WEDD が未定義)です。大文字と小文字が区別される点に留意してください。 WEDD署名は、ストラクチャファイルに対して特定のデータファイルを結びつけるために使用されます。WEDD署名を施されたストラクチャファイルは、同じ署名を施されたデータファイルと一緒でなければ使用できません。WEDD署名の詳細については、Design Referenceを参照してください。 この値をプログラムで設定して、特定の署名が施されているアプリケーションのアップグレード版を配布する場合に利用することができます。 Note: Get database parameterコマンドにこのセレクタを渡す場合、WEDD署名はオプションのstringValue引数に返され、コマンドの戻り値は0になります。 |
Invert Objects | 倍長整数 | 37 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 0, 1 または 2 (0 = モードは無効, 1 = 自動モード, 2 = モードが有効) 説明: Right-to-left 言語のWindowsでデータベースが表示されるとき、アプリケーションモードでフォームやオブジェクト、メニューバーなどを反転させるために使用される、"オブジェクト反転"モードを設定します。このモードはアプリケーション環境設定のデータベース/インターナショナルページで変更できます。
|
HTTPS Port ID | 倍長整数 | 39 | スコープ: 4D ローカル, 4D Server 2セッション間で設定を保持: Yes とりうる値: 0~65535 説明: このセレクタは、ローカルモードの4Dおよび4D ServerのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。HTTPS ポート番号は、環境設定ダイアログの“Web/設定”ページで設定されます。詳細はの節を参照してください。 デフォルトの値は443(標準ポート番号)です。value引数に“”テーマの定数を渡すこともできます。 |
Client HTTPS Port ID | 倍長整数 | 40 | スコープ: すべての4Dリモートマシン 2セッション間で設定を保持: Yes とりうる値: 0 ~ 65535 説明: このセレクタは、クライアントマシンのWebサーバがSSLによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号を、プログラムで変更するために使用できます。デフォルトの値は443(標準ポート番号)です。 このセレクタの動作はセレクタ39と同じですが、Web サーバとして使用されるすべてのクライアントマシンに適用されます。特定のクライアントマシンの設定だけを変更するのであれば、4Dリモートの環境設定ダイアログ画面を使用してください。 |
Unicode mode | 倍長整数 | 41 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 0 (互換モード) または 1 (Unicodeモード) 説明: カレントデータベースの文字セットに関連する動作モード。4DはUnicode文字セットをサポートしますが、 (Mac ASCII文字セットに基づく)“互換”モードで動作させることができます。デフォルトで、変換されたデータベースは互換モード (0) で、バージョン11以降で作成されたデータベースはUnicodeモードで実行されます。実行モードは環境設定のオプションでコントロールでき、またこのセレクタを使用して読みだしたり、 (テスト目的で) 変更したりできます。このオプションを変更した場合、それを有効にするにはデータベースを再起動しなければなりません。コンポーネント内部ではこの値を変更できないことに留意してください。読み出しのみが可能です。 |
Temporary memory size | 倍長整数 | 42 | |
SQL Autocommit | 倍長整数 | 43 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 0 (無効) または 1 (有効) 説明: SQLの自動コミットモードを有効または無効にするために使用します。デフォルトは 0 (無効モード) です。 自動コミットモードは、データベースの参照整合性を強化するために使用されます。このモードが有効の時、すべてのSELECT, INSERT, UPDATE そして DELETE (SIUD) クエリは、これらがトランザクション内で実行されていない場合、自動でアドホックなトランザクションに含められます。このモードはデータベースの環境設定でも設定できます。 |
SQL Engine Case Sensitivity | 倍長整数 | 44 | スコープ: データベース 2セッション間で設定を保持: Yes とりうる値: 0 (大文字小文字を考慮しない) または 1 (考慮する) 説明: SQLエンジンが文字列比較を行う際に、大文字と小文字の違いを考慮させるかどうかを設定します。 デフォルトで値は1 (大文字小文字を考慮する) です。SQLエンジンは文字列比較 (並び替えやクエリ) の際に大文字と小文字を異なる文字として扱います。例えば“ABC”= “ABC”ですが“ABC” # “Abc”です。SQLエンジンと4Dエンジンの動作をそろえたいなど特定の場合では、大文字と小文字を区別しない文字列比較 (“ABC”=“Abc”) を使用できます。 このオプションはアプリケーション環境設定の SQL/設定ページで設定できます。 |
Client Log Recording | 倍長整数 | 45 | スコープ: リモート4Dマシン 2セッション間で設定を保持: No とりうる値: 0 または 1 から X (0 = 記録しない, 1 から X = ファイル名に付加するシーケンス値)。 説明: コマンドを実行した4Dクライアントマシンが実行した標準的なリクエスト(Webリクエストを除く)の記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。 クライアントマシンが実行したリクエストをログファイルに記録するよう、4Dに指示することができます。このメカニズムが有効になると、クライアントマシンのデータベースのローカルフォルダ内、Logsサブフォルダに2つのログファイルが作成されます。ファイルには"4DRequestsLog_X"と"4DRequestsLog_ProcessInfo_X"(Xはログのシーケンシャル番号)の名前が付けられます。4DRequestsLogファイルサイズが10MBに達するとそのファイルは閉じられ、インクリメントしたシーケンス番号を使用して新しいファイルが作成されます。もし同じ名前のファイルが存在する場合は置き換えられます。シーケンシャル番号の開始番号を、value引数を使用して指定できます。 このテキストファイルにはそれぞれのリクエストに関する様々な情報(時間、プロセス番号、ユーザ、リクエストサイズ、処理時間など)がシンプルな表形式のフォーマットで保存されます。この情報はアプリケーション開発フェーズや統計の目的で利用する場合に特に役立ちます。 |
Query By Formula On Server | 倍長整数 | 46 | スコープ: カレントテーブルおよびプロセス 2セッション間で設定を保持: No とりうる値: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行) 説明: 引数に渡されたtableに対して実行されるQUERY BY FORMULAやQUERY SELECTION BY FORMULAコマンドの実行場所。 クライアント/サーバモードでデータベースを使用するとき、フォーミュラを使用したクエリをサーバ上またはクライアント上で実行させることができます:
value 引数に0を渡すと、フォーミュラを使用するクエリの実行場所は、データベースの設定に基づきます: 4D v11 SQLで作成されたデータベースでは、これらのコマンドはサーバ上で実行されます。変換されたデータベースでは、データベース環境設定に基づき、クライアントマシンまたはサーバマシンで実行されます。valueに1または2を渡すと、これらのコマンドの実行場所をクライアントマシンまたはサーバマシンに強制できます。 例題4を参照してください。 Note: "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。 |
Order By Formula On Server | 倍長整数 | 47 | スコープ: カレントテーブルおよびプロセス 2セッション間で設定を保持: No とりうる値: 0 (データベース設定を使用), 1 (クライアント上で実行) または 2 (サーバ上で実行) 説明: 引数に渡されたtableに対して実行されるORDER BY FORMULAコマンドの実行場所。 クライアント/サーバモードでデータベースを使用するとき、ORDER BY FORMULAコマンドをサーバ上またはクライアント上で実行させることができます。このセレクタを使用して、このコマンドの実行場所 (サーバまたはクライアント) を指定できます。このモードはデータベース環境設定でも設定できます。詳細はセレクタ46、Query By Formula On Serverの説明を参照してください。 Note: "SQLタイプ"のJOINを有効にしたい場合 (QUERY BY FORMULA Joins (49) セレクタ参照) は、フォーミュラがレコードにアクセスすることができるよう、常にフォーミュラをサーバ上で実行しなければなりません。このコンテキストでは、フォーミュ ラはいかなるメソッド呼び出しも含んではいけないことに注意してください。そうでない場合、自動でリモートマシンでの実行に切り替わります。 |
Auto Synchro Resources Folder | 倍長整数 | 48 | スコープ: 4D リモートマシン 2セッション間で設定を保持: No とりうる値: 0 (同期しない), 1 (自動同期) または2 (確認する). 説明: このコマンドを実行する4DクライアントマシンのResourcesフォルダの動的な同期モード。 サーバ上のResourcesフォルダの内容が更新されたり、(リソースエクスプローラやNOTIFY RESOURCES FOLDER MODIFICATION コマンドで) ユーザが同期をリクエストすると、サーバは接続されたユーザに通知を行います。 クライアント側では3つの同期モードを選択できます。Auto Synchro Resources Folderセレクタはカレントセッションでクライアントマシンが使用するモードを指定できます:
|
QUERY BY FORMULA Joins | 倍長整数 | 49 | スコープ: カレントプロセス 2セッション間で設定を保持: No とりうる値: 0 (データベース設定を使用), 1 (常に自動リレーションを使用) または 2 (可能ならSQL JOINを使用) 説明: "SQL JOIN"の利用に関連する、QUERY BY FORMULAとQUERY SELECTION BY FORMULAコマンドの動作モード。 4D v11 SQLのバージョン11.2以降で作成されたデータベースでは、これらのコマンドはSQL JOINモデルに基づくJOINを実行します。このメカニズムを使用して、(以前のバージョンでは必要な条件だった) 自動リレーションで接続されていない他のテーブルに対して実行されたクエリに基づき、テーブルのセレクションを変更できます。 QUERY BY FORMULA Joinsセレクタで、カレントプロセスの、フォーミュラによるクエリの動作モードを指定できます:
|
HTTP Compression Level | 倍長整数 | 50 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No とりうる値: 1 から 9 (1 = 速度優先, 9 = 圧縮優先) または -1 = 最適 説明: Webサービスにおけるクライアントリクエストおよびサーバのレスポンスに使用される、圧縮されたすべてのHTTP通信の圧縮レベルを設定します。Web サービスで通信する2つの4Dアプリケーションがあるとき、圧縮された通信を使用して最適化を実装することができます (SET WEB SERVICE OPTION コマンドを参照)。このセレクタを使用して、実行速度を優先 (低圧縮) するか、圧縮率を優先 (低速度) するかを指定できます。選択する値は交換するデータのタイプやサイズにより異なります。value 引数には1から9の値を渡します。1は圧縮速度優先で、9は圧縮率優先です。また-1を渡して圧縮速度と圧縮率の妥協点を指定できます。デフォルトの圧縮レベルは1 (速度優先) です。 |
HTTP Compression Threshold | 倍長整数 | 51 | スコープ:4D アプリケーション 2セッション間で設定を保持: No とりうる値: 任意の倍長整数値 説明: 最適化モードの内部的な4D Webサービス通信フレームワーク (上記参照) において、圧縮を行わないリクエストサイズの敷居値を設定できます。この設定は、小さなデータ交換時に圧縮を行うことによる、マシンの時間の浪費を避けるために有効です。 valueにはバイト単位でサイズを渡します。デフォルトで、圧縮の敷居値は1024バイトに設定されています。 |
Server Base Process Stack Size | 倍長整数 | 53 | スコープ: 4D Server 2セッション間で設定を保持: No とりうる値:正の倍長整数 説明: サーバ上のプリエンプティブシステムプロセス毎に割り当てるスタックのサイズ ( バイト単位) です。デフォルトでこの値は1,000,000 (1 MB) です。 プリエンプティブシステムプロセスはメインの4D クライアントプロセスを制御するためにロードされます。デフォルトでそれぞれのプリエンプティブプロセスに割り当てられるサイズはおよその場合最適なサイズですが、何百ものプロセスが作成されるようなケースではこのサイズが適切かどうか検討する必要が出てくるかもしれません。 データベースが実行する処理がそれを許す限り、最適化の目的でこのサイズを大幅に減らすことができます ( 例えばデータベースで大量のレコードの並び替えなどを行わない場合)。512 や256 KB でさえも設定可能です。 スタックサイズを小さくしすぎることは致命的であり、4D Server の動作に害を及ぼすことになるので注意してください。このパラメタの設定は注意を持って行い、データベースの利用状況 ( レコード数や行う処理など) を考慮しながら行わなければなりません。 このパラメタの設定を行うには、On Server Startup データベースメソッドなどを使用してサーバ上でコマンドが実行されなければなりません。 |
Idle Connections Timeout | 倍長整数 | 54 | スコープ: 値が負数なら4Dアプリケーション 2セッション間で設定を保持: No とりうる値: 持続時間を秒で表す値。値は正数 (新規接続) または負数 (既存の接続)をとることができます。デフォルト値は4D v11 SQLの場合0 (タイムアウトなし) で、4D v12の場合20です。 説明: この引数を使用して、4DデータベースエンジンとSQLエンジン両方への動きのない接続の最大時間 (タイムアウト) を設定できます。この設定は、コマンドが実行されたマシンにより開かれたすべての接続に適用されます。 動作していない接続がこの制限時間に達すると、接続は自動でスタンバイ状態に置かれます。つまりクライアント/サーバセッションがフリーズされ、ネットワークソケットが閉じられます。この動作はユーザに対し完全に透過的です。スタンバイ状態の接続でリクエストが開始されると、ソケットが自動で再び開かれ、クライアント/サーバセッションが再び有効になります。 この設定によりサーバのリソースを節約できます。スタンバイ状態の接続はソケットを閉じ、サーバ上のプロセスを解放します。他方これにより、ファイアウォールがアイドルなソケットを閉じてしまうことに伴い接続が失われることを避けることができます。このためには、アイドル接続のタイムアウト値はファイアウォールのタイムアウト値よりも小さくなくてはなりません。 valueに正数を渡すと、設定はすべてのプロセスのすべての新規接続に適用されます。負数を渡すと、設定はカレントプロセスの開かれた接続に適用されます。0を渡すと、アイドル接続のタイムアウトは行われません。 4D v11 SQLの場合、このパラメターはサーバ上でのみ考慮されます。 4D v12の場合、このパラメターはサーバーおよびクライアント両側で設定できます。2つの異なる間隔を設定すると、短いほうが使用されます。通常この値を変更する必要はありません。 |
PHP Interpreter IP address | 倍長整数 | 55 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No 値: "nnn.nnn.nnn.nnn" (例 "127.0.0.1") のようなフォーマット文字列 説明: FastCGI を経由してPHPインタプリタと通信を行うために、4D がローカルで使用するIP アドレス。デフォルトで値は"127.0.0.1" です。このアドレスは4D が配置されているマシンに対応しなければなりません。このパラメタはデータベース設定を使用してすべてのマシン用にグローバルに設定できます PHPインタプリタに関する詳細はDesign Referenceマニュアルを参照してください。 |
PHP Interpreter port | 倍長整数 | 56 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No 値: 正の倍長整数値。デフォルト値は8002。 説明: 4DのPHPインタプリタが使用するTCPポート番号。データベース設定でこの値をすべてのマシン用にグローバルに変更できます。PHPインタープリタに関する詳細はDesign Reference マニュアルを参照してください。 |
PHP Number of children | 倍長整数 | 57 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No 値: 正の倍長整数値。デフォルト値は5。 説明: 4DのPHPインタプリタがローカルで作成し、管理する子プロセスの数。最適化の目的で、スクリプト実行リクエストを処理するために、PHPインタプリタは" 子プロセス" と呼ばれるシステムプロセスのセット (プール) を作成、使用します。アプリケーションのニーズに基づき、子プロセス数の数を変更できます。データベース設定を使用してこの値をすべてのマシン用にグローバルに設定できます。PHPインタプリタに関する詳細はDesign Reference マニュアルを参照してください。 Note: Mac OS では、すべての子プロセスは同じポートを共有します。Windows では、それぞれの子プロセスが個別のポート番号を使用します。最初の番号はPHP インタプリタ用に設定された番号で、他の子プロセスは最初の番号をインクリメントします。例えばデフォルトポート番号が8002で、5個の子プロセスを起動すると、ポート8002から8006が使用されます。 |
PHP Max requests | 倍長整数 | 58 | スコープ: 4D application 2セッション間で設定を保持: No 値: 正の倍長整数地。デフォルト値は500。 説明: PHP インタプリタが受け入れるリクエストの最大数。この最大値に達すると、インタプリタは"server busy"タイプのエラーを返します。セキュリティおよびパフォーマンスのため、この値を変更できます。データベース設定を使用してすべてのマシン用にグローバルに設定を変更できます。このパラメタに関する詳細はFastCGIPHPのドキュメントを参照してください。 Note: 4D側では、これらの引数は動的に適用されます。設定を有効にするために4Dを終了する必要はありません。他方、PHPインタプリタが既に起動されている場合、これらの設定を有効にするためにはインタプリタを再起動しなければなりません。 |
PHP Use external interpreter | 倍長整数 | 60 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No 値: 0 = 内部インタプリタを使用, 1 = 外部インタプリタを使用 説明: 4D のPHPリクエストを4Dの内部インタプリタに送信するか、外部インタプリタに送信するかを指定する値。デフォルトで値は0 (4Dのインタプリタを使用) です。独自にインストールしたPHPインタプリタを使用したい場合、例えば追加のモジュールを使用したり特定の設定を使用したい場合は、valueに1を渡します。この場合、4DはPHPリクエストの場合でも内部インタプリタを起動しません。 カスタムPHPインタプリタはFastCGIでコンパイルされ、4Dエンジンと同じマシン上に配置されていなければなりません。この場合、開発者がインタプリタを完全に管理しなければならない点に留意してください。4Dはインタプリタを開始したり停止したりしません。 データベース設定を使用してこの値をすべてのマシン用にグローバルに設定できます。 |
Maximum Temporary Memory Size | 倍長整数 | 61 | スコープ: 4Dアプリケーション 2セッション間で設定を保持: No とりうる値:正の倍長整数値 説明: 4D がそれぞれのプロセスに割り当てることのできる一時的なメモリの最大サイズ (MB)。デフォルトで値は 0 ( 最大サイズの設定なし) です。 4D はインデックスやソート処理のために特別な一時的メモリを使用します。このメモリは大量の処理を行う間、" 標準" キャッシュメモリの保護を意図したものです。これは必要な時にのみ有効になります。デフォルトで、一時的なメモリのサイズは、( システムメモリ設定に基づく) 利用可能なリソースによってのみ制限されます。 このメカニズムはほとんどのアプリケーションで適しています。しかし特定の特別なコンテキスト、特に同時に多数のシーケンシャルソートを行うようなサーバ/ クライアントアプリケーションでは、一時的なメモリのサイズが、システムが不安定になるほどに致命的に増加するかもしれません。このような場合は、一時的メモリの最大サイズを設定することで、アプリケーションが正しく動作するようにできます。その代わり、実行速度に影響が出ます。プロセスに対する最大サイズに達すると、4D はディスクファイルを使用し、そのために処理が遅くなります。 先のようなケースの場合、だいたい50 MB が一般的なサイズとしてよいと思われます。しかし適切な値はアプリケーションの特性、そして実際の環境でのテスト結果に基づき決定されるべきです。 |
SSL Cipher List | 文字列 | 64 | スコープ: 4Dアプリケーション 2セッション間で設定を保持: No とりうる値: コロンで区切られた一連の文字列 (例 "RC4-MD5:RC4-64-MD5:....") 説明: 暗号リストはSSLプロトコルのために4Dが使用します。例えばこのセレクターを使用してSSL 3.0暗号化アルゴリズムを実装でき、そしてSSL 2.0による接続を拒否できます。 この設定はアプリケーション全体に適用されます (HTTP サーバーやSQLサーバー、およびSSL プロトコルを使用するすべての4D の機能に関連) が、その効果は一時的であり、セッションをまたいでは保持されません。 暗号リストが変更されると、新しい設定を有効にするために、関連するサーバーを再起動しなければなりません。 暗号リストを (SLIファイルに恒久的に格納された) デフォルト値に再設定するには、value引数に空の文字列 ("") を渡してSET DATABASE PARAMETERコマンドを呼び出します。 デフォルトで、4DはRC4暗号化アルゴリズムを使用します。(より最新の) AESアルゴリズムを使用するには、value引数に以下の文字列を渡します: "AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH" Note: Get database parameterコマンドで暗号リストはオプションのstringValue引数に返され、戻り値は常に0となります。 |
Cache unload minimum size | 倍長整数 | 66 | スコープ: 4Dアプリケーション 2セッション間で設定を保持: No とりうる値: 1より大きい正の倍長整数 説明: エンジンがオブジェクトをデータベースキャッシュに配置する際に空き空間を作成する必要が出た場合、データベースキャッシュからリリースするメモリの最小サイズ (バイト単位)。 このセレクタの目的はキャッシュからデータをリリースする時間を減らし、よりよりパフォーマンスを得ることにあります。キャッシュのサイズやデータベース中で処理されるデータのブロックサイズに応じてこの値を変更できます。 このセレクタが使用されないとデフォルトで、4Dは空間が必要になった時最低10%のキャッシュをアンロードします。 |
Log Command list | 倍長整数 | 80 | スコープ: 4D アプリケーション 2セッション間で設定を保持: No 取りうる値: 記録する4Dコマンドの番号リスト。型は文字列で各コマンド番号をセミコロンで区切ります。"all"を渡すとすべてのコマンドが記録され、"" (空の文字列) を渡すとなにも記録されません。 説明: デバッグファイルに記録する4Dコマンドのリスト (セレクター 34, Debug Log Recording参照)。デフォルトではすべての4Dコマンドが記録されます。 このセレクターを使用すれば、記録に残したい4Dコマンドを指定することで、デバッグファイルに保存される情報の量を制限することができます。例えば以下のようにコードを記述できます: SET DATABASE PARAMETER(Log Command list;"277;341") |
以下の文は予期しないタイムアウトを避けます:
`カレントプロセスのタイムアウトを3時間にします
SET DATABASE PARAMETER(4D Server Timeout;-60*3)
`4Dからコントロールできない時間のかかる処理を行う
...
WR PRINT MERGE(Area;3;0)
...
IPアドレス192.193.194.195を以下の文で設定する:
SET DATABASE PARAMETER(IP Address to listen;0xC0C1C2C3)
この例題は、一時的にクライアントマシン上でフォーミュラによるクエリを実行するよう強制します:
curVal:=Get database parameter([table1];Query By Formula On Server) `現在の設置を取得
SET DATABASE PARAMETER([table1];Query By Formula On Server;2) `クライアントマシンでの実行を強制
QUERY BY FORMULA([table1];myformula)
SET DATABASE PARAMETER([table1];Query By Formula On Server;curVal) `設定を元に戻す
プロダクト: 4D
テーマ: 4D環境
番号:
642
変更: 4D v11 SQL Release 4
変更: 4D v11 SQL Release 5
変更: 4D v12
Get database parameter
QUERY SELECTION