web-dev-qa-db-fra.com

Comment permettre à plusieurs utilisateurs de se connecter simultanément à ma base de données H2?

J'utilise H2 pour la gestion de base de données, et voici ce que j'aimerais faire:

J'aimerais autoriser plusieurs utilisateurs à accéder à une base de données en même temps. J'ai lu quelques mots sur "MULTI_THREADED = TRUE", "LOCK_FILE = NO" et "AUTO_SERVER = TRUE". J'ai également lu que "LOCK_FILE = NO" peut être dangereux, car il peut corrompre la base de données. Je ne voudrais certainement pas cela, alors je suppose que c'est une mauvaise façon de faire. J'ai également essayé de fermer la connexion immédiatement après avoir accédé à un enregistrement, qu'il soit en cours de lecture ou d'écriture. Jusqu'à présent, rien ne semble fonctionner. L'application ne me permet pas de lire ou d'écrire dans la base de données si celle-ci a été connectée à une instance distincte de l'application (par exemple, sur un autre ordinateur). Une fois que je ferme complètement l'application sur un ordinateur, je peux accéder aux enregistrements de la base de données.

Comment permettre à plusieurs utilisateurs de se connecter à la base de données H2 en même temps sans compromettre la sécurité de la base de données?

15
Ryan

Il semblerait que vous utilisiez H2 en mode intégré, qui n'autorise qu'une connexion à la base de données à la fois. Voir modes de connexion dans la documentation pour plus de détails.

Si vous avez besoin d'une prise en charge pour plusieurs connexions, y compris à partir de plusieurs instances d'application, vous devez démarrer H2 en mode serveur et utiliser les URL de connexion appropriées pour ce mode.

17
Lolo

AUTO_SERVER = TRUE autorise le mode de connexion multiple.

0
Jackkobec