Bonjour à tous,
je développe une application simple c# de gestion d'entrée sortie de stocks (avec gestion code barre).
Le serveur principal SQL SERVER contient plusieurs bases de données de type SAGE on va dire qu'elle s'appelle A, B, C.
En local, je travaillerais sur des pc peu puissant avec 4 GO de RAM et pas un très gros processeur...
Le pc qui gérera les entrées sorties sera relié par antennes wifis au serveur principal. le serveur principal utilise l'authentification windows et on peut aussi faire des connexion via compte SQL aussi.
le pc client ira chercher la liste des articles vendus dans une table assez volumineuse d'une des base A, B, ou C, puis traitera les données dans l'interface graphique pour alimenter la base locale du pc client et enregistrer les mouvements.
je veux juste récupérer les quelques lignes qui m’intéresse de cette table volumineuse afin de ne pas surcharger le réseau ou le pc client.
Ensuite chaque entrée sortie sera stocké dans des tables sur le pc client comme je disais, et aussi sur le serveur, si la connexion wifi fonctionne.
J'ai déjà avancé dans le projet j'ai commencé à faire l'interface graphique et je me suis dit que pour stocké les données localement en cas de coupure réseau il me fallait une vrai base de donnée sur chaque pc client.
En cas de perte de signal wifi comme ça je peux conserver les transactions (entrées/sorties) puis les envoyer sur le serveur principal quand la connexion revient.
je ne suis pas sur que ce soit la bonne solution mais pour garder une certaine logique dans la gestion des BDD j'ai opté pour SQL SERVER Express.
Est ce qu'il vaut mieux s'orienter vers une autre solution ? je débute avec C# donc je me demandais s'il n'y a pas une façon de gérer les données de façon plus light (par rapport aux capacités des pc clients)
Pour résumer je m'oriente actuellement sur un serveur SQL principal, un SQL express pour le stockage des entrées sorties en local sur chaque pc, et un serveur lié pour faciliter les requêtes de mise à jour entre les bases SQL SERVER (mais là j'ai un doute sur les performances est ce qu'il ne vaudrait pas mieux faire les mises à jour via c# directement (si oui quel est la meilleure façon de procéder ?) plutôt que par un serveur lié et des requêtes UPDATE ? qu'est ce qui est le mieux en termes de performances et stabilités compte tenu du fait qu'on sera en wifi et que par moment ça risque de couper ?)
Sinon je peux aussi faire ça avec Microsoft ACCESS ce qui simplifierait le développement qui s'allonge à mesure que j'apprends le langage c# (car je saurais déjà comment procéder) et me permettrait d'avoir tout en local facilement mais je voulais quelque chose de plus fiable et complet sur le long terme que le moteur JET car j'ai lu que pour les accès distants ce n'est pas terrible...
Merci et ceux qui prendront la peine de me lire et de me conseiller car vu mon peu d'expérience sur c# je n'ai pas envie de partir sur une mauvaise méthode de travail et d'avoir à tout refaire ensuite.
Partager