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 :
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...
Partager