Bloquer l'accès à une base de donnée [Résolu]

TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 29 sept. 2005 à 15:44 - Dernière réponse : TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention
- 3 oct. 2005 à 11:17
Bonjour,



J'aimerai trouver un moyen d'empêcher l'accès à une base de
donnée, au cas où une connexion à cette base est déjà
ouverte..

Si quelqu'un à des idées..

Merci.
Afficher la suite 

7 réponses

Meilleure réponse
Paladin2107 154 Messages postés samedi 25 octobre 2003Date d'inscription 5 septembre 2008 Dernière intervention - 29 sept. 2005 à 16:48
3
Merci
Ds une table du place un booleen. A chaque ouverture de ta BD du li cette valeur et en fonction du résultat du autorise ou non l'acces.

Couscous

Merci Paladin2107 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Meilleure réponse
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 30 sept. 2005 à 20:40
3
Merci
Pour ouvrir la base en mode exclusif en ADO :


Dim cnn As New ADODB.connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=.\Comptoir.mdb;Mode=" & adModeShareExclusive

mais bon, perso, je préfère la solution du contrôle, voire celle-ci qui locke la mise à jour des tables interrogées tant que le recordset n'est pas close :

Pour un recordset :
rst.Open "SELECT .... ", cnn, adOpenKeyset, adLockPessimistic

C'est à toi de voir.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 29 sept. 2005 à 16:52
0
Merci
C'est bien vu, je vais faire un truc dans le genre... merci, mais je
pensais qu'il existait une fonction..ou mieux une propriété de l'objet
oledbconnection..

car petite précision à grande conséquence : la base est Access, je suis en Vb.net(2002)


.Maytheforcebewithyou.Maxime.


Ps : si j'ai pas mieux avant demain soir, j'accepte ta réponse, Paladin !
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 29 sept. 2005 à 23:53
0
Merci
Salut,
Ouvre ta base en mode exclusif. Ca interdira à tout autre de l'ouvrir. Ce qui vet dire qu'il te faudra gérer ce cas.
L'importance n'est pas la version de ta base mais le mode d'attaque, DAO, ADO, OleDB (qui n'est que de l'ADO), ...
Mais, pour une base utilisée en réseau, donc +sieurs utilisateurs potentiels, locker la base n'est pas une solution.
C'est à toi de vérifier si, au moment de l'enregistrement ou de la modif de l'enreg, il n'y a pas eu une modif ou un autre enreg avant le tien et, le cas échéant, gérer ce cas.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 30 sept. 2005 à 19:57
0
Merci
J'utilise ADO..

C'est vrai que vérifié si il y a eu des changement est la méthode des
bouquins, mais dans mon cas, ce mode exlclusif m'intéresse beaucoup !

J'utilse de l'Oledb (microsoft jet 4.0 oledb comme provider..), comment faire pour déclarer l'exclusivité de ma connection ?


.Maytheforcebewithyou.Maxime.
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 3 oct. 2005 à 09:00
0
Merci
Effectivement, le mode exclusif est ce que je cherchais, par contre ta syntaxe de déclaration n'a pas pas marchée, CanisLupus



pour une connection oledb :

"Mode = Share Deny Read|Share deny write;"

.Maytheforcebewithyou.Maxime.



Merci encore a+ !
TrafMaxime 288 Messages postés mercredi 4 mai 2005Date d'inscription 26 janvier 2012 Dernière intervention - 3 oct. 2005 à 11:17
0
Merci
En fait c'est pas ca non plus.. J'ai pas moyen de déclarer ma connection exclusive en code !

L'objet 'tout fait' marche..

je recupère son connectionstring,

je déclare un objet connection dans mon module en lui affectant ce connectionstring

ca marche pas : pas possible de se connecter (pas de message d'erreur dispo mais auth_failed..)




pk ?

j'ai besoin de créer moi-mem l'objet connection en code dans mon module car j'en aurais besoin partout dans mon soft ensuite..

comment faire ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.