IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Firedac - Application multi utilisateurs


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut Firedac - Application multi utilisateurs
    Bonjour,

    Je programme une appli multi utilisateurs avec le RAD XE7, chaque utilisateur devant y saisir ses heures ouvrées sur un serveur.

    J’utilise donc FIREDAC qui se connecte à une BD Access.

    Mon souci est que le premier connecté verrouille la base pour les utilisateurs connectés après.
    Après avoir fait plusieurs recherches, je me demande ou trouver mes réponses :

    • Un simple paramétrage du TFDCONNECTION suffit ? si oui lequel ?
    • Faut-il sérialiser les accès à la base ?
    • Autres ?

    J’ai beau chercher mais je ne trouve pas comment aborder le probleme ! si quelqu’un peux m’aiguiller dans mes recherches cela m’aiderait beaucoup.

    Merci d’avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 657
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    Citation Envoyé par Clint77 Voir le message
    J’utilise donc FIREDAC qui se connecte à une BD Access.
    AMHA c'est là que le bât blesse,MS Acces n'est certainement pas le SGBD que je qualifierai de multi-utilisateurs !

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    AMHA c'est là que le bât blesse,MS Acces n'est certainement pas le SGBD que je qualifierai de multi-utilisateurs !
    Mince ! vu que je partais d'une base access existante : je pensais pouvoir utiliser ce fichier !
    Quel SGBD me conseilles-tu ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 657
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Clint77 Voir le message
    Quel SGBD me conseilles-tu ?
    voir https://www.developpez.net/forums/d2...r-sgbd-delphi/ quoique, on y cite Paradox et on ne peut pas écrire que ce soit un SGBD Multi utilisateurs

    Je ne serais certainement pas objectif, pour moi le premier choix serait Firebird (tant qu'à faire la dernière version c.a.d 3.0.5)
    ensuite viennent plus ou moins en ordre de préférence PostGresSQL, Interbase, MS SQL
    Je n'opterais pour MySQL qu'en dernier recours
    Mais cela dépendra encore du besoin (même futur) et des moyens (Firebird et PostGresSQL sont OpenSource).
    Cela dépend aussi de la "déclinaison" du XE 7 (pro ou entreprise) il faut vérifier les possibilités d'accès donc, vérifier la matrice des fonctionnalités

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    voir https://www.developpez.net/forums/d2...r-sgbd-delphi/ quoique, on y cite Paradox et on ne peut pas écrire que ce soit un SGBD Multi utilisateurs

    Je ne serais certainement pas objectif, pour moi le premier choix serait Firebird (tant qu'à faire la dernière version c.a.d 3.0.5)
    ensuite viennent plus ou moins en ordre de préférence PostGresSQL, Interbase, MS SQL
    Je n'opterais pour MySQL qu'en dernier recours
    Mais cela dépendra encore du besoin (même futur) et des moyens (Firebird et PostGresSQL sont OpenSource).
    Cela dépend aussi de la "déclinaison" du XE 7 (pro ou entreprise) il faut vérifier les possibilités d'accès donc, vérifier la matrice des fonctionnalités
    Merci beaucoup pour ton aide !

  6. #6
    Membre émérite Avatar de sergio_is_back
    Homme Profil pro
    Consultant informatique industrielle, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant informatique industrielle, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 190
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Je n'opterais pour MySQL qu'en dernier recours
    Pour ma j'utilise maintenant MariaDB à la place de MySQL depuis qu'Oracle à repris les rennes de MYSQL AB

    Pour utiliser une base access en multi-utilisateurs il faut passer par ADODB, les composants Delphi dbGO marchent parfaitement bien pour ceci
    Je n'ai encore essayé de faire de l'ADODB avec Firedac et je ne sais pas si c'est possible... J'utilise Firedac principalement avec Firebird et MariaDB

    Ta chaine de connexion ADODB sera comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Provider=Microsoft.ACE.OLEDB.12.0;Mode=Share Deny None;Extended Properties="";Locale Identifier=1033;
    Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;
    Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;
    Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;
    Jet OLEDB:SFP=False;Data Source=\\Serveur\Dossier\Fichier.mdb;User ID=<user>;Password=<password>"
    User ID et Password sont optionnels cela dépend de ton fichier Access
    Certains autres paramètres sont aussi optionnels, tu peux trouver des exemples ici : https://www.connectionstrings.com/access/

    Après il faut que les permissions sur le répertoire partagé qui contient le fichier Access soient correctes pour que les différents utilisateurs puissent se partager le fichier (Contrôle total)
    En effet lors de la première connexion cela va créer un fichier lock (.ldb) qui va servir à gérer les verrous partagés
    Lors de la fermeture de la dernière connexion le fichier lock est supprimé

    Pour finir, comme mes condisciples, je ne recommande pas Access mais il y a des fois on a pas le choix et il faut bien trouver une solution...

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 657
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 657
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par sergio_is_back Voir le message
    Après il faut que les permissions sur le répertoire partagé qui contient le fichier Access soient correctes pour que les différents utilisateurs puissent se partager le fichier (Contrôle total)
    Rien que cette phrase me fait sursauter ( enfin pas autant que ça ) c'est la porte ouverte à des problèmes de sécurité

    Après, je ne connaissais pas cette possibilité ADODB mais bon moi les surcouches ADO, ADO et MS ACCESS je ne le cache pas ça n'a jamais été mon truc

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 9
    Par défaut
    Citation Envoyé par sergio_is_back Voir le message
    Pour ma j'utilise maintenant MariaDB à la place de MySQL depuis qu'Oracle à repris les rennes de MYSQL AB

    Pour utiliser une base access en multi-utilisateurs il faut passer par ADODB, les composants Delphi dbGO marchent parfaitement bien pour ceci
    Je n'ai encore essayé de faire de l'ADODB avec Firedac et je ne sais pas si c'est possible... J'utilise Firedac principalement avec Firebird et MariaDB

    Ta chaine de connexion ADODB sera comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'Provider=Microsoft.ACE.OLEDB.12.0;Mode=Share Deny None;Extended Properties="";Locale Identifier=1033;
    Jet OLEDB:Engine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;
    Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;
    Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;
    Jet OLEDB:SFP=False;Data Source=\\Serveur\Dossier\Fichier.mdb;User ID=<user>;Password=<password>"
    User ID et Password sont optionnels cela dépend de ton fichier Access
    Certains autres paramètres sont aussi optionnels, tu peux trouver des exemples ici : https://www.connectionstrings.com/access/

    Après il faut que les permissions sur le répertoire partagé qui contient le fichier Access soient correctes pour que les différents utilisateurs puissent se partager le fichier (Contrôle total)
    En effet lors de la première connexion cela va créer un fichier lock (.ldb) qui va servir à gérer les verrous partagés
    Lors de la fermeture de la dernière connexion le fichier lock est supprimé

    Pour finir, comme mes condisciples, je ne recommande pas Access mais il y a des fois on a pas le choix et il faut bien trouver une solution...
    Elle me plait bien cette solution ! Surtout que je n'ai pas des masses de temps ! Merci beaucoup !

  9. #9
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 542
    Billets dans le blog
    10
    Par défaut
    Si tu as la bonne version de Delphi tu peux faire un application Client/serveur (Datasnap...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appli android en temps réel à multi-utilisateurs
    Par tom33bdx dans le forum Android
    Réponses: 1
    Dernier message: 26/02/2014, 12h28
  2. [XE5-FireBird-FireDac] multi-utilisateurs en mode reseau
    Par XDavidX dans le forum Bases de données
    Réponses: 6
    Dernier message: 25/12/2013, 14h38
  3. Accés multi utilisateurs avec fstab
    Par Sun3clipse dans le forum Administration système
    Réponses: 2
    Dernier message: 26/08/2004, 15h49
  4. Procédure stockée et multi utilisateurs
    Par Bruno34 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 30/04/2003, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo