Connexion du client au serveur DataSnap
Remonter à Application Client DataSnap
TSQLConnection
Le composant TSQLConnection peut être déposé depuis la palette d'outils dans une fiche, ou vous pouvez l'utiliser explicitement dans votre code. Le pilote à utiliser est DataSnap. Désactivez la propriété de connexion Login Prompt (Invite de connexion) pour empêcher l'affichage d'une fenêtre de message d'authentification quand vous tentez d'établir la connexion à un serveur DataSnap.
Le tableau suivant liste les propriétés de pilote et leur signification :
Propriété | Description |
---|---|
BufferKBSize | Fournit la taille maximale du paquet qui peut être échangé entre le client et le serveur. La valeur en cours (32) est recommandée pour le protocole TCP/IP afin d'obtenir un temps de communication optimal. |
CommunicationProtocol | Accepte TCP/IP ou HTTP, selon le type de transport du serveur. |
ConnectTimeout | Fournit le temps de connexion attendu, en millisecondes. Le temps de connexion est défini comme l'intervalle entre l'instant où la communication est initiée et celui où le socket serveur est initialement ouvert. |
DSAuthPassword | Actuellement utilisé pour l'authentification HTTP. Un composant gestionnaire d'authentification, qui traitera cette valeur, doit être lié au serveur. |
DSAuthUser | Actuellement utilisé pour l'authentification HTTP. Un composant gestionnaire d'authentification, qui traitera cette valeur conjointement au mot de passe fourni, doit être lié au serveur. Nous recommandons que les deux champs soient tous les deux remplis ou vides. |
HostName | Nom de la machine (ou adresse IP) où le serveur s'exécute. |
PassWord | Mot de passe utilisateur de base de données dans le cas où le serveur doit ouvrir une connexion de base de données et y canaliser les demandes de base de données du client. Si aucune connexion serveur n'est requise, ne remplissez pas cette propriété. |
Port | Fournit la valeur du port où le serveur écoute les connexions DataSnap. La valeur doit correspondre à celle définie au niveau du composant transport sur le côté serveur. |
ServerConnection | Contient le nom de la connexion serveur qui fournira les informations d'identification pour une connexion de base de données à ouvrir par le serveur. Le serveur agira comme un proxy pour toutes les demandes client spécifiques aux bases de données. Exemple : DSAdmin.GetConnection("ASACONNECTION"). |
URLPath | Correspond au contexte où le serveur basé sur le transport HTTP écoute les demandes. |
UserName | Fournit le nom d'utilisateur à utiliser pour la connexion serveur. Il est conseillé de laisser vide UserName si aucune connexion serveur n'est requise. |
DelegateName | Facultatif. Stocke le nom de la connexion déléguée. |
DelegateConnection | Facultatif. Stocke le nom du pilote délégué. Les pilotes délégués fournissent une couche supplémentaire entre l'application et le pilote réel. Ils sont utiles pour le pooling de connexion, le profilage de pilote, le traçage, l'audit, et ainsi de suite. |
Remarque : Il est important que la connexion se fasse dans un contexte qui permet aux filtres d'être instanciés si de tels filtres sont définis côté serveur. L'unité qui enregistre les filtres doit faire ceci avant la création d'une connexion filtrée.
Remarque : Si le protocole HTTP doit être utilisé à l'exécution, l'unité DSHTTPLayer doit être ajoutée à la liste uses de l'application client.
La propriété DBXConnection de TSQLConnection peut être utilisée pour instancier la classe de méthode proxy. Des appels explicites peuvent être effectués pour les méthodes serveur basées sur des instances de TSQLServerMethod comme illustré dans l'exemple suivant :
procedure TForm1.Button8Click(Sender: TObject);
var
reader: TDataSet;
begin
SQLServerMethod:= TSQLServerMethod.Create(nil);
SQLServerMethod.SQLConnection:= SQLConnection1;
try
SQLServerMethod.ServerMethodName:= 'TDSUtilityMethods.echoOutStr';
SQLServerMethod.Params[0].AsString := '123';
SQLServerMethod.ExecuteMethod;
memOutput.Text := SQLServerMethod.Params[1].AsString;
finally
SQLServerMethod.Close;
FreeAndNil(SQLServerMethod);
end;
end;
TDSRestConnection
Le composant TDSRestConnection peut être déposé depuis la palette d'outils dans une fiche, ou vous pouvez l'utiliser explicitement dans votre code. Désactivez la propriété de connexion Login Prompt (Invite de connexion) pour empêcher l'affichage d'une fenêtre de message d'authentification quand vous tentez d'établir la connexion à un serveur DataSnap.
Le tableau suivant liste les propriétés de connexion devant être changées lorsque vous créez une application Client DataSnap :
Propriété | Description |
---|---|
Host | Nom de la machine (ou adresse IP) où le serveur s'exécute. |
Password | Mot de passe utilisateur de base de données dans le cas où le serveur doit ouvrir une connexion de base de données et y canaliser les demandes de base de données du client. Si aucune connexion serveur n'est requise, ne remplissez pas cette propriété. |
Port | Fournit la valeur du port où le serveur écoute les connexions DataSnap. La valeur doit correspondre à celle définie au niveau du composant transport sur le côté serveur. |
Protocol | Accepte HTTP ou HTTPS, selon le type de transport du serveur. |
UserName | Fournit le nom d'utilisateur à utiliser pour la connexion serveur. Il est conseillé de laisser vide UserName si aucune connexion serveur n'est requise. |
Remarque : Si le protocole HTTP doit être utilisé à l'exécution, l'unité DSHTTPLayer doit être ajoutée à la liste uses de l'application client.
REST
Des méthodes serveur spécifiques sont accessibles par le biais du protocole REST. Cela peut être accompli depuis des applications client web basées sur du code JavaScript, ou natif, en utilisant l'unité DSHTTP.
Voici un extrait de code d'une méthode native qui envoie une commande GET via le service serveur REST.
procedure TForm1.SendGetRequest(var response: string; out responseCode: Integer);
var
http: TDSHTTP;
begin
http := TDSHTTP.Create;
try
response := http.Get(edtUri.Text);
except
response := http.ResponseText;
end;
responseCode := http.ResponseCode;
http.Free;
end;
Voir aussi
- Génération de proxies de méthodes serveur DataSnap
- Contrôles Serveur DataSnap
- Création d'un serveur DataSnap
- Expert Serveur DataSnap