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

VB.NET Discussion :

Accès base de donnée hors domaine ?


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut Accès base de donnée hors domaine ?
    Bonjour,

    Pour notre entreprise j'ai développé une application en VB.NET qui se connecte sur une DB Access.
    Aucun problème, tout fonctionne bien...

    Mais, j'ai un utilisateur qui à ce message lors de la connexion :
    Le moteur de la base de donnée Jet ne peut pas ouvrir le fichier "blablabla.mdb". Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses données.

    J'imagine que l'accès est refusé car son PC n'est pas dans le domaine...
    Mais curieusement, si je vais manuellement ouvrir la base de donnée avec access, je n'ai aucun refus...

    Est-ce un problème de code?
    ou de base de donnée ?

    J'ai fouillé le net et je tombe chaque fois sur la même solution, via la gestion des accès sur la base, mais rien n'y fait....

    Quelqu'un aurait une idée ?

  2. #2
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Citation Envoyé par thovan Voir le message
    Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses données.
    Bonjour,
    J'ai créé une application qui utilise une petite base de données Access. Ce message apparait par exemple si tu modifie la base dans Access en mode exclusif pour faire par exemple des modifications de structure car cela impose que pendant ses modifications personne ne puisse modifier la base en simultané.
    Vérifie que personne ouvre la base en mode exclusif dans Access ou qu'un processus verrouille la base.
    Merci de ainsi que d'utiliser les boutons et

  3. #3
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Yep,

    Merci... mais ce n'est pas le cas...
    Les utilisateurs ne font que lire des données.

    Seulement à la connexion, je modifie l'une ou l'autre info genre champ boolean "connecté", string heure de connexion, ect ect....
    Mais aucune modification de structure.

    D'ailleurs pour dépanner, je lui fais tourner l'appli sur un bureau à distance sur un serveur....qui bien sur lui est dans le domaine...
    Je suis quasi sur que c'est le domaine le problème.

  4. #4
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    Ce n'est peut-être pas le cas, mais il arrive que des applications "Office", dont Access, lorsqu'elles sont manipulées via VB, ne libèrent pas tous les process qu'elles activent, par exemple à cause d'une instance non Dispose(), ou d'un fichier non Close().
    Il s'agit d'examiner les process du système pour vérifier s'il ne reste pas un ou plusieurs "Access" actifs alors que l'application est fermée. A noter que dans ce cas, le problème devrait disparaître après un Reboot du système.

    Autre point à vérifier, vu que le problème survient sur un PC et pas sur d'autres, voir si l'utilisateur possède les mêmes droits que les autres, notamment pour l'accès en modification au fichier .ldb. Dans ce cas, la suppression du fichier .ldb avant de lancer l'application devrait résoudre le problème (à condition toutefois que le user ait les droits sur le dossier de la .mdb).

    J'espère que ceci te donnera de bonnes pistes de recherche ...

  5. #5
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Hello,

    Merci pour la réponse, qui contient quelques pistes intéressantes.

    Ceci dit, les autres utilisateurs n'ont pas de soucis à se connecter alors que la DB est déjà ouverte par quelqu'un d'autre

    Mais, ce que tu dis au niveau des droits intéressant... vu que n'étant pas dans le domaine, elle n'hérite pas de droits de l'active directory...
    Peut-être qu'en la mettant admin local de sa machine ça marchera... je testerai.

    Mais ça n'explique pas pourquoi je peux sans problème parcourir le réseau et ouvrir la DB avec access depuis son poste

  6. #6
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Mais ça n'explique pas pourquoi je peux sans problème parcourir le réseau et ouvrir la DB avec access depuis son poste
    De son poste, avec son login, ce n'est pas possible ..., ou ton utilisateur "dégage des ondes maléfiques ..." .
    Mais de son poste avec ton login, c'est possible si tu possèdes des droits supérieurs aux siens.

  7. #7
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    non non, c'est bien de son poste avec son utilisateur !!


  8. #8
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Alors là, une seule solution : un prêtre exorciste.

    Ou bien, suivre pas à pas (en détail, touche après touche, click après click, ...) les manœuvres de l'utilisateur : il y a forcément quelque chose qu'il fait différemment de toi.

  9. #9
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    C'est jeté direct au login
    Je ne sais rien suivre à partir pop le message d'erreur...

    Je suis quasi certain que c'est parce qu'elle n'est pas dans le domaine...

    Mais, la mettre dans le domaine effacerait tous ses fichiers locaux.... (dixit mon collègue infra) et elle gère les affaires perso du boss........
    LOL !

  10. #10
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Quelle est ta méthode de connexion ?
    Merci de ainsi que d'utiliser les boutons et

  11. #11
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Ultra classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
                Dim myconnexion As OleDbConnection = New OleDbConnection
                Dim provider As String
                Dim connstring As String
                provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "
                connstring = provider & fonctions.GetDBPath()
                myconnexion.ConnectionString = connstring
                myconnexion.Open()
    la DB n'est par ailleurs même pas protégée par login/mot de passe !

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 170
    Points
    17 170
    Par défaut
    Salut
    connstring = provider & fonctions.GetDBPath() & ";User Id=admin;Password=;" peut être
    de plus
    myconnexion.CursorLocation = 3 avant myconnexion.Open()
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Pour ma part j'utilise le provider Microsoft.ACE.OLEDB.12.0 car il s'agit d'un fichier Access de version > 2007 (accdb).
    N'est ce pas ton cas ?
    Merci de ainsi que d'utiliser les boutons et

  14. #14
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Citation Envoyé par r.morel Voir le message
    Pour ma part j'utilise le provider Microsoft.ACE.OLEDB.12.0 car il s'agit d'un fichier Access de version > 2007 (accdb).
    N'est ce pas ton cas ?
    Non, pour des raisons de je sais plus trop quoi, je pense compatibilité, j'ai pris une version antérieure...

  15. #15
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut
    connstring = provider & fonctions.GetDBPath() & ";User Id=admin;Password=;" peut être
    de plus
    myconnexion.CursorLocation = 3 avant myconnexion.Open()
    ok je vais tester ça.
    Juste pour ma culture :
    myconnexion.CursorLocation = 3sert à quoi ?

    EDIT :
    myconnexion.CursorLocation = 3 se souligne en rouge dans visual studio...
    CursorLocation n'est pas un membre de OleDbConnection

  16. #16
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 170
    Points
    17 170
    Par défaut
    Arf,
    EDIT :
    myconnexion.CursorLocation = 3 se souligne en rouge dans visual studio...
    en effet, CursorLocation appartient à ADODB.Connection alors que toi tu es en OleDbConnection.
    Si tu supprimes cette ligne CursorLocation = adUseClient, par contre le passage de ";User Id=admin;Password=; te donne une erreur, la même que signalé au début de la discussion ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  17. #17
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut
    Bon... ça ne marche pas....

    Observation :

    Pour l'instal du client, j'utilise click once.
    Je déploie donc un exe d'instal dans un répertoire publique sur le réseau.

    Une exécution de ce fichier n'est pas autorisée non plus !
    Je dois faire une copie en local pour pouvoir installer l'appli....

    Chose que je n'ai jamais, en dehors des machines hors du domaine....

  18. #18
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    Selon ton dernier message, il faudrait que l'administrateur de cet ordinateur donne les droits d'accès en contrôle total pour permettre l'installation correcte de l'application.
    Il est aussi possible que cela fonctionne mieux avec "Exécuter en tant qu'Administrateur".


  19. #19
    Membre averti
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Points : 319
    Points
    319
    Par défaut


    ça ne change rien du tout...

    depuis le réseau : lancer le setup en admin : accès refusé
    copie locale : lancer le setup en admin : ok.... connexion à la DB : niet !

  20. #20
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    C’est surtout qu’avec les bons outils c’est mieux.
    Access n’est pas une base réseau comme sql server (la version express étant gratuite).
    Ajouté à cela qu’un dossier partagé est considéré comme une faille de sécurité par certains.
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Accès Base de données Access
    Par vincent magnin dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/06/2006, 12h09
  2. Problème accès base de données
    Par alainconnu dans le forum Outils
    Réponses: 3
    Dernier message: 27/04/2006, 09h31
  3. [PHPMyAdmin] Accès base de donnée pour utilisateur
    Par nicodeme dans le forum Outils
    Réponses: 2
    Dernier message: 04/03/2006, 01h10
  4. [C#]Global.asax et accès base de données.
    Par R'SKaP dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/01/2006, 15h00
  5. [Kylix] Kylix et accès Base de données
    Par Oyoboy dans le forum EDI
    Réponses: 16
    Dernier message: 22/06/2004, 16h41

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