4D v12.4Méthode base Sur ouverture connexion serveur |
||||||||||
|
4D v12.4
Méthode base Sur ouverture connexion serveur
|
Paramètre | Description |
$1 | Numéro d'utilisateur utilisé en interne par 4D Server pour identifier les utilisateurs |
$2 | Numéro de connexion utilisé en interne par 4D Server pour identifier une connexion |
$3 | Obsolète : Retourne toujours 0 (mais doit être déclaré) |
Ces numéros de référence ne sont pas directement utilisables en tant que « sources d’information » à passer, par exemple, comme paramètres à une commande 4D. Ils vous fournissent un moyen d’identifier de manière unique un process 4D Client entre la Méthode base Sur ouverture connexion serveur et la Méthode base Sur fermeture connexion serveur. La combinaison de ces valeurs est unique à tout moment d’une session 4D Server. Si vous stockez cette information dans une table ou un tableau interprocess, les deux méthodes base peuvent échanger des informations. Dans l’exemple présenté à la fin de cette section, les deux méthodes base utilisent cette information pour stocker l’heure et la date du début et de la fin d’une connexion dans le même enregistrement d’une table.
L’exemple suivant montre comment maintenir un historique des connexions à la base de données en utilisant la Méthode base Sur ouverture connexion serveur et la Méthode base Sur fermeture connexion serveur. La table [Server Log] (ci-dessous) sert à garder la trace des process de connexion :
L’information stockée dans cette table est gérée par la Méthode base Sur ouverture connexion serveur et la Méthode base Sur fermeture connexion serveur listées ci-dessous :
` Méthode base Sur ouverture connexion serveur
C_ENTIER LONG($0;$1;$2;$3)
` Créer un enregistrement [Server Log]
CREER ENREGISTREMENT([Server Log])
[Server Log]Log ID:=Numerotation automatique([Server Log])
` Enregistrer l’historique Date et Heure
[Server Log]Log Date:=Date du jour
[Server Log]Log Time:=Heure courante
` Enregistrer l’information sur la connexion
[Server Log]User ID:=$1
[Server Log]Connection ID:=$2
STOCKER ENREGISTREMENT([Server Log])
` Ne retourne pas d’erreur, pour continuer la connexion
$0:=0
` Méthode base Sur fermeture connexion serveur
C_ENTIER LONG($1;$2;$3)
` Chercher l’enregistrement [Server Log]
CHERCHER([Server Log];[Server Log]User ID=$1;*)
CHERCHER([Server Log]; & ;[Server Log]Connection ID=$2;*)
CHERCHER([Server Log]; & ;[Server Log]Process ID=0)
` Enregistrer date et heure de déconnexion
[Server Log]Exit Date:=Date du jour
[Server Log]Exit Time:=Heure courante
` Enregistrer informations process
[Server Log]Process ID:=Numero du process courant
INFORMATIONS PROCESS([Server Log]Process ID;$vsProcName;$vlProcState;$vlProcTime)
[Server Log]Process Name:=$vsProcName
STOCKER ENREGISTREMENT([Server Log])
Voici quelques entrées dans [Server Log] montrant plusieurs connexions distantes :
L’exemple suivant interdit toute nouvelle connexion entre 2 et 4 heures du matin.
` Méthode base Sur ouverture connexion serveur
C_ENTIER LONG($0;$1;$2;$3)
Si((?02:00:00?<=Heure courante)&(Heure courante<?04:00:00?))
$0:=22000
Sinon
$0:=0
Fin de si
Produit : 4D
Thème : Méthodes base
Nom intl. : On Server Open Connection Database Method