FIXER PARAMETRE BASE

4D - Documentation   Français   English   German   4e Dimension 2003, Commandes par thèmes   4e Dimension 2003, Liste alphabétique des commandes   4e Dimension 2003, Constantes par thèmes   Retour   Précédent   Suivant

version 2003 (Modifiée)


FIXER PARAMETRE BASE ({table; }sélecteur; valeur)

ParamètreTypeDescription
tableTableTable à paramétrer ou
Table par défaut si ce paramètre est omis
sélecteurEntier longCode du paramètre de la base à modifier
valeurEntier longValeur du paramètre

Description

La commande FIXER PARAMETRE BASE permet de modifier divers paramètres internes de la base de données 4D, pour le process courant.

sélecteur désigne le paramètre à modifier. 4e Dimension vous propose les constantes prédéfinies suivantes, placées dans le thème "Paramètres de la base" :

ConstanteTypeValeur
Ratio de tri séqEntier long1
Optimisation accès séqEntier long2
Ratio valeurs distinctes séqEntier long3
Compression indexEntier long4
Ratio chercher dans sélec séqEntier long5
Minimum process WebEntier long6
Maximum process WebEntier long7
Mode conversion WebEntier long8
Appels système 4e DimensionEntier long10
Appels système 4D ServerEntier long11
Appels système 4D ClientEntier long12
Timeout 4D ServerEntier long13
Timeout 4D ClientEntier long14
Numéro du portEntier long15
Adresse IP d'écouteEntier long16
Jeu de caractèresEntier long17
Process Web simultanés maxiEntier long18
Client Minimum process WebEntier long19
Client Maximum process WebEntier long20
Client Taille max requêtes WebEntier long21
Client Numéro de portEntier long22
Client Adresse IP d'écouteEntier long23
Client Jeu de caractèresEntier long24
Client Proc Web simultanés maxiEntier long25
Mode écriture cacheEntier long26
Taille maximum requêtesEntier long27

valeur désigne la valeur du paramètre. La valeur à passer dépend du paramètre que l'on souhaite modifier. Voici les valeurs possibles pour chaque sélecteur :

Sélecteur = 1 (Ratio de tri séq)

Valeurs possibles : 0 -> 100 000

Description : Ratio d'enregistrements sélectionnés (par rapport au nombre total d'enregistrements) au-dessous duquel les tris sont effectués en mode séquentiel. Ce ratio doit être exprimé sur 100 000. La valeur par défaut est 9 000 (soit 9 %).

Sélecteur = 2 (Optimisation accès séq)

Valeurs possibles : 0 ou 1 (0 = non optimisé, 1 = optimisé)

Description : Mode d'optimisation pour les accès séquentiels (tris, recherches, SELECTION VERS TABLEAU). Par défaut, la valeur est 1 (mode optimisé). En mode optimisé, 4D tente de lire depuis le disque plusieurs enregistrements en une fois. Ce mode est particulièrement intéressant lorsque la taille du cache est faible.

Sélecteur = 3 (Ratio valeurs distinctes séq)

Valeurs possibles : 0 -> 100 000

Description : Ratio d'enregistrements sélectionnés (par rapport au nombre total d'enregistrements) au-dessous duquel la commande VALEURS DISTINCTES sera exécutée en mode séquentiel. Ce ratio doit être exprimé sur 100 000.

Sélecteur = 4 (Compression index)

Valeurs possibles : 0 ou 1 (0 = non, 1 = oui)

Description : Activation ou non de la compression des pages d'index. Par défaut, la valeur est 1 (les index sont compressés si nécessaire).

Les pages d'index peuvent, dans des bases contenant beaucoup d'index et d'enregistrements, consommer beaucoup de place dans la mémoire cache de 4D. Lorsque le cache est plein et que 4D a besoin de place supplémentaire, les données se trouvant dans le cache ne sont plus directement déchargées : avant d'effectuer cette opération, le programme va contrôler s'il peut gagner de la place en compactant des pages d'index. Cette alternative permet d'éviter le rechargement ultérieur des données.

Sélecteur = 5 (Ratio chercher dans sélec séq)

Valeurs possibles : 0 -> 100 000

Description : Ratio d'enregistrements sélectionnés (par rapport au nombre total d'enregistrements) au-dessous duquel la commande CHERCHER DANS SELECTION sera exécutée en mode séquentiel. Ce ratio doit être exprimé sur 100 000.

Sélecteur = 6 (Minimum process Web)

Valeurs possibles : 0 -> 32 767

Description : Nombre minimum de process Web à maintenir en mode sans contexte avec 4e Dimension et 4D Server. Par défaut, la valeur est 0 (cf. ci-dessous).

Sélecteur = 7 (Maximum process Web)

Valeurs possibles : 0 -> 32 767

Description : Nombre maximum de process Web à maintenir en mode sans contexte avec 4e Dimension et 4D Server. Par défaut, la valeur est 10.

Afin que le serveur Web soit réactif, en mode sans contexte, 4D maintient endormis les process Web pendant 5 secondes, et les réutilise pour traiter les éventuelles requêtes HTTP suivantes. En termes de performances, ce principe est en effet plus avantageux que la création d'un nouveau process à chaque requête. Une fois un process Web réutilisé, il est à nouveau endormi pour 5 secondes, sauf si le nombre maximum de process Web est dépassé (auquel cas il est tué). Si aucune requête n'a été attribuée à un process Web durant les 5 secondes, il est tué, sauf si un nombre minimum de process Web a été fixé et est atteint (auquel cas il est à nouveau endormi).

Ces paramètres vous permettent d'ajuster le fonctionnement de votre serveur Web en fonction du nombre de requêtes, de la mémoire disponible, etc.

Sélecteur = 8 (Mode conversion Web)

Valeurs possibles : 0, 1, 2 ou 3

0 (mode par défaut) = Conversion au format HTML 4.0 si le browser le permet. Sinon, format HTML 3.2 + usage de tableaux.

1 = Conversion au format HTML 2.0 (mode 6.0.x),

2 = Conversion au format HTML 3.2 (mode 6.5),

3 = Conversion au format HTML 4.0 + CSS-P (depuis version 6.5.2).

Description : Mode de conversion des formulaires 4D pour le Web avec 4e Dimension et 4D Server.

Par défaut, le serveur Web 4D utilise les feuilles de style en cascade (CSS1) pour générer des pages HTML dont l'apparence est très proche de celle des formulaires obtenus dans 4e Dimension.

Dans le cas des bases créées avec des versions de 4D antérieures à la 6.7, ce fonctionnement peut perturber la conversion correcte des formulaires. Vous pouvez donc modifier le mode de conversion des formulaires.

Ce mode n'est utilisé que pour le process (contexte Web) dans lequel la commande FIXER PARAMETRE BASE est appelée. Elle peut être placée dans la Méthode base Sur connexion Web pour assurer la conversion des formulaires de la base, ou juste avant l'appel d'un formulaire particulier. Hors du mode contextuel ou d'un process Web, la commande est sans effet.

Note : La fonction Lire parametre base admet un sélecteur supplémentaire, Taille cache données (9). Ce paramètre ne peut pas être utilisé avec la commande FIXER PARAMETRE BASE. Pour plus d'informations, reportez-vous à la description de la fonction Lire parametre base.

Sélecteur = 10 (Appels système 4e Dimension)

Sélecteur = 11 (Appels système 4D Server)

Sélecteur = 12 (Appels système 4D Client)

Valeurs possibles : pour ces trois sélecteurs, le paramètre valeur est de la forme hexadécimale 0x00aabbcc dans laquelle :

aa = nombre minimum de ticks par appel au système (de 0 à 100 inclus)

bb = nombre maximum de ticks par appel au système (de 0 à 100 inclus)

cc = nombre de ticks entre deux appels au système (de 0 à 20 inclus).

Si une des valeurs est hors de son intervalle, 4D la fixe à son maximum.

Vous pouvez également passer dans valeur une des trois valeurs suivantes, correspondant à un ensemble de réglages standard :

valeur = -1 : priorité maximum allouée à 4D,

valeur = -2 : priorité moyenne allouée à 4D,

valeur = -3 : priorité minimum allouée à 4D.

Description : Ce sélecteur vous permet de fixer dynamiquement les réglages des appels système de 4D. En fonction du Sélecteur, le gestionnaire d'appels système sera défini pour :

- 4e Dimension (monoposte) lorsque la commande est appelée depuis 4e Dimension, ainsi qu'à 4D Tools (sélecteur=10).

- 4D Server lorsque la commande est appelée depuis 4D Server (sélecteur=11).

- 4D Client lorsque la commande est appelée depuis 4D Client (sélecteur=12).

Reportez-vous à l'exemple (1).

Sélecteur = 13 (Timeout 4D Server)

Description : Ce paramètre permet de modifier la valeur du délai avant déconnexion (timeout) accordé par 4D Server aux postes clients.

Par défaut, la valeur du délai avant déconnexion utilisée par 4D Server est définie dans la page "Connexions" de la boîte de dialogue des Propriétés de la base, sur le poste serveur.

Le sélecteur Timeout 4D Server vous permet de fixer, à l'aide du paramètre valeur, un nouveau timeout, exprimé en minutes. Cette possibilité permet en particulier d'augmenter la valeur du timeout avant l'exécution sur le poste client d'une opération bloquante et de longue durée, risquant d'entraîner une déconnexion ; par exemple, l'impression d'un grand nombre de pages.

Vous disposez en outre de deux possibilités :

- effectuer une modification globale et permanente : la nouvelle valeur s'applique à tous les process et est stockée dans les préférences de l'application (équivaut à une modification de la valeur dans la boîte de dialogue des Propriétés de la base). Pour cela, passez une valeur positive dans le paramètre valeur.

- effectuer une modification restreinte et temporaire : la nouvelle valeur ne s'applique qu'au process appelant (les autres process conservant la valeur d'origine), et est abandonnée dès que le serveur reçoit un signe d'activité du poste client — par exemple, dès que l'opération est terminée. Cette possibilité est utile pour gérer les opérations longues initiées par des plug-ins. Pour cela, passez une valeur négative dans le paramètre valeur.

Pour définir une connexion "Ouverte en permanence", passez 0 dans valeur.

Reportez-vous à l'exemple (2).

Sélecteur = 14 (Timeout 4D Client)

Description : Ce paramètre permet de modifier la valeur du délai avant déconnexion (timeout) accordé par le poste 4D Client au poste 4D Server.

Par défaut, la valeur du délai avant déconnexion utilisée par 4D Client est définie dans la page "Connexions" de la boîte de dialogue des Propriétés de la base, sur le poste client.

Pour plus d'informations sur le fonctionnement de ce sélecteur, reportez-vous ci-dessus à la description du sélecteur Timeout 4D Server (13).

Le sélecteur Timeout 4D Client est à utiliser dans des cas très spécifiques.

Sélecteur = 15 (Numéro du port)

Description : Ce paramètre permet de modifier par programmation le numéro du port TCP utilisé par le serveur Web 4D avec 4e Dimension et 4D Server. Par défaut, la valeur est 80.

Le numéro de port TCP est défini dans la page "Serveur Web I" de la boîte de dialogue des Propriétés de la base.

Le sélecteur Numéro du port est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Engine (pas d'accès au mode Structure). Pour plus d'informations sur le numéro de port TCP, reportez-vous à la section Paramétrages du serveur Web.

Sélecteur = 16 (Adresse IP d'écoute)

Description : Ce paramètre permet d'indiquer par programmation l'adresse IP sur laquelle le serveur Web doit recevoir les requêtes HTTP avec 4e Dimension et 4D Server. Par défaut, aucune adresse particulière n'est spécifiée (valeur = 0). Ce paramètre est défini dans les Préférences de la base.

Le sélecteur Adresse IP d'écoute est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Engine (pas d'accès au mode Structure).

Passez dans le paramètre valeur l'adresse IP sous forme hexadécimale. Ainsi, pour désigner une adresse du type "a.b.c.d", le code sera de la forme :

   C_ENTIER LONG($addr)
   $addr:=($a<<24)|($b<<16)|($c<<8)|$d
   FIXER PARAMETRE BASE(Adresse IP d'écoute;$addr)

Reportez-vous également à l'exemple (3). Pour plus d'informations sur la désignation de l'adresse IP, reportez-vous à la section Paramétrages du Serveur Web.

Sélecteur = 17 (Jeu de caractères)

Valeurs :

0 : Occidental

1 : Japonais

2 : Chinois

3 : Coréen

4 : Défini par l'utilisateur

5 : Réservé

6 : Europe Centrale

7 : Cyrillique

8 : Arabe

9 : Grec

10 : Hébreu

11 : Turc

12 : Nordique

Description : Ce paramètre permet d'indiquer par programmation le jeu de caractères que le serveur Web 4D (avec 4e Dimension et 4D Server) doit utiliser pour communiquer avec les navigateurs Web qui se connectent à la base. La valeur par défaut dépend de la langue du système d'exploitation.

Ce paramètre est défini dans les Préférences de la base. Le sélecteur Jeu de caractères est utile dans le cadre de serveurs Web 4D compilés et fusionnés avec 4D Engine (pas d'accès au mode Structure).

Sélecteur = 18 (Process Web simultanés maxi)

Valeurs : Vous pouvez passer toute valeur incluse entre 10 et 32 000. La valeur par défaut est 32 000.

Description : Ce paramètre permet de définir la limite strictement supérieure du nombre de process Web de tout type (contextuels, non contextuels ou appartenant à la réserve de process — cf. à ce sujet le sélecteur 7, Maximum process Web) acceptés par le serveur Web avec 4e Dimension et 4D Server. Lorsque ce nombre limite (moins un) est atteint, 4D ne crée plus de nouveau process et retourne le message "Serveur non disponible" (statut HTTP 503 - Service Unavailable) à toute nouvelle requête.

Ce paramètre permet de prévenir la saturation du serveur Web 4D pouvant se produire lors d'un envoi massif de requêtes ou d'une demande excessive de création de contextes. Il peut également être défini dans la boîte de dialogue des Préférences (cf. section Paramétrages du serveur Web).

En théorie, le nombre maximum de process Web est le résultat de la division Mémoire disponible / Taille de la pile d'un process Web. Une autre solution consiste à visualiser les informations sur les process Web affichées dans l'Exporateur d'exécution : le nombre courant de process Web et le nombre maximum atteint depuis le démarrage du serveur Web sont indiqués.

Note : Si vous passez une valeur inférieure à la limite supérieure de la "réserve" de process (sélecteur 7), cette limite est réduite à la valeur du sélecteur 18. Si nécessaire, la limite inférieure de la réserve (sélecteur 6) est également ajustée.

Sélecteur = 19 (Client Minimum process Web)

Sélecteur = 20 (Client Maximum process Web)

Sélecteur = 21 (Client Taille max requêtes Web)

Sélecteur = 22 (Client Numéro de port)

Sélecteur = 23 (Client Adresse IP d'écoute)

Sélecteur = 24 (Client Jeu de caractères)

Sélecteur = 25 (Client Process Web simultanés maxi)

Valeurs possibles : Identiques à celles des sélecteurs 4e Dimension ou 4D Server correspondants (cf. sélecteurs 6 à 8, 15 à 18 et 27).

Description : Ces sélecteurs permettent de spécifier les paramètres de fonctionnement des postes 4D Client utilisés en tant que serveurs Web.

Les valeurs définies via ces sélecteurs sont appliquées à tous les postes 4D Client utilisés comme serveurs Web. Si vous souhaitez définir des valeurs pour certains postes 4D Client uniquement, utilisez la boîte de dialogue des Préférences de 4D Client.

Sélecteur = 26 (Mode écriture cache)

Valeurs possibles : 0 ou 1 (0 = désactivation, 1 = activation).

Description : Activation ou non du mode optimisé d'écriture du cache. Par défaut, la valeur est 1 (mode activé).

Le mode optimisé d'écriture du cache, actif par défaut dans 4e Dimension à compter de la version 2003, accélère sensiblement les applications 4D, notamment sous MacOS.

Sélecteur = 27 (Taille maximum requêtes Web)

Valeurs possibles : 500 000 à 2 147 483 648.

Description : Taille maximale (en octets) des requêtes HTTP entrantes (POST) que le serveur Web est autorisé à traiter. Par défaut, la valeur est 2 000 000, c'est-à-dire un peu moins de 2 Mo.

La valeur maximale (2 147 483 648) signifie en pratique qu'aucune limite n'est fixée.

Ce paramétrage permet d'empêcher la saturation du serveur Web à cause de requêtes entrantes de trop grande taille. Lorsqu'une requête atteint la limite, le serveur Web de 4D la refuse.

Portée des sélecteurs

Le tableau suivant décrit la portée (l'aire d'action) de chaque sélecteur :

SélecteurValeurPortée
Ratio de tri séq1Table et process courants
Optimisation accès séq2Table et process courants
Ratio valeurs distinctes séq3Table et process courants
Compression index4Application 4D (*)
Ratio chercher dans sélec séq5Table et process courants
Minimum process Web64e Dimension, 4D Server (*)
Maximum process Web74e Dimension, 4D Server (*)
Mode conversion Web8Process courant
Taille cache données9Application 4D (*) (**)
Appels système 4e Dimension10Application 4D (*)
Appels système 4D Server11Application 4D (*)
Appels système 4D Client12Application 4D (*)
Timeout 4D Server13Application 4D sauf si valeur négative (***)
Timeout 4D Client14Application 4D sauf si valeur négative (***)
Numéro du port154e Dimension, 4D Server (*)
Adresse IP d'écoute164e Dimension, 4D Server (*)
Jeu de caractères174e Dimension, 4D Server (*)
Process Web simultanés maxi184e Dimension, 4D Server (*)
Client Minimum process Web19Tous postes 4D Client (*)
Client Maximum process Web20Tous postes 4D Client (*)
Client Taille max requêtes Web21Tous postes 4D Client (*)
Client Numéro de port22Tous postes 4D Client (*)
Client Adresse IP d'écoute23Tous postes 4D Client (*)
Client Jeu de caractères24Tous postes 4D Client (*)
Client Proc Web simultanés maxi25Tous postes 4D Client (*)
Mode écriture cache26Application 4D (*)
Taille maximum requêtes Web274e Dimension, 4D Server (*)

(*) Dans ce cas, le paramètre table est ignoré s'il est passé.

(**) Ce sélecteur ne peut être utilisé qu'en lecture (voir commande Lire parametre base).

(***) Si le paramètre valeur est négatif, le paramétrage est local au process courant et réinitialisé à la requête suivante.

Exemples

(1) Cette méthode permet de définir les valeurs du minuteur des appels système si l'application courante est 4e Dimension monoposte :

   C_ENTIER LONG($ticksbtwcalls;$maxticks;$minticks;$lparams)
   Si (Type application=4e Dimension) ` Si nous sommes en 4D monoposte
      $ticksbtwcalls:=12
      $maxticks:=20
      $minticks:=7
      $lparams:=($minticks<<16)|($maxticks<<8)|$ticksbtwcalls
      FIXER PARAMETRE BASE(Appels système 4e Dimension;$lparams)
   Fin de si

(2) L'instruction suivante permet d'anticiper un éventuel problème de timeout :

      `Augmentation du timeout à 3 heures pour le process courant
   FIXER PARAMETRE BASE(Timeout 4D Server;-60*3)
      `Exécution d'une opération longue hors du contrôle de 4D
   ...
   WR MAILING (LaZone;3;0)
   ...

(3) L'adresse IP 192.193.194.195 sera fixée avec l'instruction suivante :

   FIXER PARAMETRE BASE(Adresse IP d'écoute;0xC0C1C2C3)

Référence

CHERCHER DANS SELECTION, Lire parametre base, VALEURS DISTINCTES.


4D - Documentation   Français   English   German   4e Dimension 2003, Commandes par thèmes   4e Dimension 2003, Liste alphabétique des commandes   4e Dimension 2003, Constantes par thèmes   Retour   Précédent   Suivant