Documentation > Guide de l'utilisateur

Les outils clients

SynSql contient essentiellement deux outils clients. Un client écrit en C et compilé et un client écrit en python.

1. Le client écrit en C

1.1 Système d'exploitation

Le client C ne fonctionne que sous Linux.

L'exécutable, synsql, peut être installé dans n'importe quel répertoire. Son fichier de configuration, SynSql.conf doit obligatoirement se trouver dans un répertoire etc du domicile de l'utilisateur qui l'exécute.

Si vous êtes dans un environnement multi-cluster, vous devrez :
- Soit utiliser des comptes dédiés par cluster,
- Soit utiliser différentes versions du fichier de configurations.

1.2 Syntaxe

 synsql -u Username [-p Passwd] [-s SynSqlBrokerName] 

Si votre mot de passe comporte des caractères particuliers tels que '#' ou '!' encadrez le de simples quotes. Si vous ne fournissez pas le mot de passe sur la ligne de commandes il vous sera demandé. Attention: si vous fournissez le mot de passe il sera stocké dans la table des processus et tout utilisateur du système pourra le lire (via la commande ps -ef par exemple.

Si vous utilisez l'option '-s SynSqlBrokerName', le client tentera de se connecter au serveur indiqué et uniquement à lui.

Sans l'option -s, le client parcourt la liste des synsql brokers telle que décrite dans le fichier de configuration. Si le premier serveur de la liste accepte la connexion, la session est ouverte. Sinon le client passe au synsql broker suivant.

1.3 historique

Le client C historise les commandes qu'il reçoit (dans une limite de 1000 lignes). Vous pouvez parcourir cet historique à l'aide des flèches haut et bas. En fin de session l'historique est enregistré dans un fichier dans le répertoire domicile du compte de l'utilisateur qui l'excécute. A l'ouverture d'une session, le client charge le fichier historique ce qui permet de rappeler les commandes de la session précédente.

Le client accepte aussi les touches début, fin, droite et gauche qui permettent de se déplacer dans la ligne en cours de saisie pour faciliter l'édition.

1.4 Limites

La taille maximale d'une requête est de 1 Mo. Cette limite ne s'applique pas aux requêtes de sélection, dont la seule limite est la mémoire disponible pour le processus client.

La taille maximale d'une ligne constituant une requête est de 64 Ko.

2. Le client python

2.1 Système d'exploitation

Le client python fonctionne à la fois sous Linux et sous Windows. Il a la même syntaxe que le client C et le même besoin d'un fichier de configuration. Sous Linux, l'emplacement est le même, sous Windows le fichier de configuration doit se trouver dans le répertoire domicile de l'utilisateur (Il n'y a pas de répertoire etc).

En toute humilité, le client Python n'est pas très bien écrit. Mais il a l'avantage d'être opérationnel et de présenter les techniques qui permettent de se connecter à un synsql broker et comment lui soumettre des requêtes.

2.2 Fonctionnement

Le client python a moins de fonctions que le client C : Il n'a pas d'historique dans lequel vous pouvez retrouver vos commandes précédentes.

2.3 Limites

Le client python n'a pas de limite sur la taille maximale d'une ligne. Mais il est soumis aux mêmes restrictions du serveur que le client C: La taille maximale d'une requête est de 1Mo, à l'exception des requêtes SELECT qui n'ont pas de limite autre que la mémoire disponible que le processus peut utiliser.

Si la taille d'une requête de type select n'est pas limitée par les SynSql brokers, elle l'est par les systèmes de gestion de base de données que vous utilisez sur vos Data Brokers. Pour mémoire les tailles par défaut vont de 1 à 16 Mo et peuvent être étendues à 1 Go.

2.4 Améliorations

Initialement, le client python a été écrit pour pouvoir utiliser SynSql à partir d'un poste de travail Windows.

Mais il a aussi été conçu pour vous permettre de l'utiliser dans votre framework python préféré. Vous pouvez modifier le code à volonté pour satisfaire vos besoins. Ce droit comporte une limite : si nous modifions le fonctionnement du serveur nous le reportons dans notre version du client python et c'est à vous qu'il appartient de reporter ces modification dans vos développements.

<< Prérequis - Gérer les objets relationnels >>

15 Jan 2026 07:18:13English version