Access bdd .mdb par oledb en lecture seule sur CD [Résolu]

Blacknight91 77 Messages postés vendredi 26 mars 2004Date d'inscription 24 avril 2007 Dernière intervention - 18 mars 2006 à 09:31 - Dernière réponse : cybernul 43 Messages postés jeudi 6 mars 2003Date d'inscription 7 décembre 2009 Dernière intervention
- 16 nov. 2007 à 15:53
Bonjour,

voilà j'ai appli qui utilise une bdd par le driver oledb en lecture seule (pas besoin de faire des modif), jusque là tout va bien. j'y est bien accès en testant sur disque dur.

mais je voudrais utiliser mon appli sur CD et c'est là que ca plante:
j'ai un message d'erreur comme quoi l'appli ne peut pas verrouiller le fichier.
je suppose que ce fichier est ma bdd.
pourtant je ne veux l'utiliser qu'en lecture seule, donc cela devrait fonctionner sur un CD.

Donc est il possible de pouvoir utiliser ma bdd sur CD en lecture seule et en évitant ce "verrouillage" ?

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
gyzmo222 66 Messages postés lundi 27 juin 2005Date d'inscription 2 juin 2006 Dernière intervention - 18 mars 2006 à 10:49
3
Merci
Lorsque tu ouvre une base de données, un fichier de vérrouillage est toujours créé a coté du fichier de base de données. C'est ce fichier qui empèche souvent plusieurs utilisateurs d'accéder à la base de données. C'est une protection made in microsoft selon moi. Mais j'avoue que ça m'a souvent posé aussi problème.

sur ce site: http://office.microsoft.com/fr-be/assistance/HP051882971036.aspx
ils expliquent comment faire passer la base de données en mode partagé ou exclusif. Je pense qu'elle est en exclusif par défaut d'ou le vérouillage. Essaye de voir si un fichier est aussi créé en partagé... Sinon parcours les options, ya peut etre un mode lecture seule à spécifier mais pour ton cd, si tu change ses options, tu peux le refaire . Essaie au préalable sur ton disque dur en visionnant le répertoie tu devrais apercevoir le fichier lors de connection.open

Merci gyzmo222 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de gyzmo222
cs_Nurgle 1648 Messages postés samedi 6 novembre 2004Date d'inscription 28 avril 2011 Dernière intervention - 18 mars 2006 à 10:05
0
Merci
Salut,

Dans ce cas, fait une copie locale de ta base (par exemple dans le dossier Temp), et ensuite tu pourras l'utiliser
(mais j'avou que je sais pas trop pourquoi il ne peux pas "verrouiller le fichier" )

<hr size="2" width="100%">Nurgle (Antoine)
Commenter la réponse de cs_Nurgle
Blacknight91 77 Messages postés vendredi 26 mars 2004Date d'inscription 24 avril 2007 Dernière intervention - 18 mars 2006 à 10:18
0
Merci
j'y ai pensé a copier en local, mais ce sera ma dernière solution s'y rien d'autre n'est trouvé.

l'appli doit surement faire une modif / ecriture sur le fichier pour obtenir son "verrouillage" or sur un CD c'est impossible. Mais comme toi je ne vois pas pourquoi il doit le verrouiller pour l'utiliser

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/
Commenter la réponse de Blacknight91
Blacknight91 77 Messages postés vendredi 26 mars 2004Date d'inscription 24 avril 2007 Dernière intervention - 18 mars 2006 à 11:19
0
Merci
Ok merci pour ton aide gyzmo222
Ca fonctionne bien maintenant

lors de la création du pilote oledb, il faut configurer l'acces a la bdd en Read et Share Exclusive

Partie code ca donne ça: Mode=Read|Share Deny Read|Share Deny Write

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/
Commenter la réponse de Blacknight91
cybernul 43 Messages postés jeudi 6 mars 2003Date d'inscription 7 décembre 2009 Dernière intervention - 7 nov. 2007 à 12:00
0
Merci
Salut,

Je sais que cela date, mais pourrais tu détailler la partie code.

Merci.

Cybernul
Commenter la réponse de cybernul
Blacknight91 77 Messages postés vendredi 26 mars 2004Date d'inscription 24 avril 2007 Dernière intervention - 7 nov. 2007 à 20:02
0
Merci
que veux tu savoir exactement ?
si c'est juste ce qui me concernait voilà la ligne de code permettant le parametrage de la connexion OLEDB:

oleDbConnection1.ConnectionString = @"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Database Password=;Data Source=D:\bdd.mdb;Jet OLEDB:Engine Type=5;Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Mode=Read|Share Deny Read|Share Deny Write;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1";
   

Blacknight91
http://blacknight91.free.fr/Flash_nouvelle/
Commenter la réponse de Blacknight91
cybernul 43 Messages postés jeudi 6 mars 2003Date d'inscription 7 décembre 2009 Dernière intervention - 16 nov. 2007 à 15:49
0
Merci
Merci.

Exactement, c'est cette fonction que je cherchais.

(Mode=Read|Share Deny Read|Share Deny Write;)

Mais malheuresement ça ne fonctionne pas pour moi.

Mon problème est que je veux accéder à une base sur un serveur.
Sauf qu'il se peux que cette base soit ouvert par le serveur pour la mettre à jour. Et donc quand j'essai de me connecter, j'ai droit à ce message :
Le moteur de la base de donnes Microsoft Jet ne peut pas ouvrir le fichier 'X:\????????.MDB'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses donnes.

Sachant que j'ai les droits sur ce répertoire.

Pour compliquer la chose. Quand j'éxécute mon appli web avec
Visual Studio, je n'ai aucun pb mais quand je publie mon projet sur mon serveur web et que j'essaie, j'ai le message d'erreur ci-dessus.


Merci de votre aide.
Commenter la réponse de cybernul
cybernul 43 Messages postés jeudi 6 mars 2003Date d'inscription 7 décembre 2009 Dernière intervention - 16 nov. 2007 à 15:53
0
Merci
Merci.

Exactement, c'est cette fonction que je cherchais.

(Mode=Read|Share Deny Read|Share Deny Write;)

Mais malheuresement ça ne fonctionne pas pour moi.

Mon problème est que je veux accéder à une base sur un serveur.
Sauf qu'il se peux que cette base soit ouvert par le serveur pour la mettre à jour. Et donc quand j'essai de me connecter, j'ai droit à ce message :
Le moteur de la base de donnes Microsoft Jet ne peut pas ouvrir le fichier 'X:\????????.MDB'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses donnes.

Sachant que j'ai les droits sur ce répertoire.

Pour compliquer la chose. Quand j'éxécute mon appli web avec
Visual Studio, je n'ai aucun pb mais quand je publie mon projet sur mon serveur web et que j'essaie, j'ai le message d'erreur ci-dessus.

Merci de votre aide.
Commenter la réponse de cybernul

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.