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 :

Chemin de la base de donnée


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Par défaut Chemin de la base de donnée
    Bonjour a tous,
    J'ai créé une application en VB.net qui utilise une base de donnée ainsi que des ressources (son et images). La base de données est interne au logiciel.
    Mon problème est que lorsque j'exporte mon programme et que le je l'installe a l'aide du setup sur un autre ordinateur, le chemin d'accès n'est pas modifié et la base de donnée n'est donc pas trouvée (étant recherchée sur l'ordinateur utilisé lors de la création).

    Comment puis-je faire pour que le chemin de la bdd soit défini automatiquement lors de l'installation du programme?

    Merci, Kikouyou-1080

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Plusieurs possibilités :

    - La base de données est située dans le même dossier que l'exécutable. Dans ce cas tu ne précise pas de chemin, juste le nom du fichier. Elle sera ainsi recherchée dans le dossier courant, qui est, par défaut, le dossier de l'exécutable au démarrage de l'application. Cela suppose que le dossier courant ne soit pas modifié au cours du fonctionnement du logiciel

    - La base de données est située dans le dossier de l'exécutable ou dans un sous dossier. Lors de l'accès à la base, tu peux reconstruire dynamiquement le chemin d'accès à la base en récupérant le dossier d'installation actuel de l'exécutable

    - Quelque soit le dossier d'installation de l'exécutable et de la base, tu développe ton logiciel de sorte que le chemin de ta base puisse être configuré une fois le logiciel installé. Tu peux par exemple prévoir un Setting à ton logiciel pour enregistrer ce chemin. Pour l'accès à ta base, tu viendra lire ce setting pour avoir le chemin. Mais après l'installation, il te faudra modifier le fichier de configuration de ton executable pour indiquer le chemin correct de la base.

    La 1ere solution est la plus simple, mais ne garantie pas un fonctionnement sans faille.
    La 3ème est la plus propre et la plus souple, mais aussi la plus contraignante pour la phase d'installation.
    La 2nd solution est un compromis.

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Plusieurs possibilités :

    - La base de données est située dans le dossier de l'exécutable ou dans un sous dossier. Lors de l'accès à la base, tu peux reconstruire dynamiquement le chemin d'accès à la base en récupérant le dossier d'installation actuel de l'exécutable
    Je pense utiliser cette methode.
    Actuellement, la base de données, les images ainsi que les sons sont dans le sous dossier Resources.
    Le chemin dans les propriété d'un des fichier de "Resources" est noté en gris et est complet : C:\Users\Kikouyou\Documents\dossier\dossier\dossier\dossier\dossier\dossier\Resources\bdd.accdb

    J'ai l'impression que lors de la publication de l'application il n'intègre pas les resources, et continu a tout chercher en suivant le chemin précèdent.

    Comment puis-je récupérer dynamiquement le chemin des ressources?

    Merci

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    lorsque tu fais ton package de publication, il faut que tu dise d'intégrer ces fichiers et où les copier. C'est là que tu vas définir un sous-dossier de l'emplacement de l'exécutable.

    Regarde ce lien concernant le paramétrage des propriétés de chaque fichier pour qu'ils soient inclus à ta publication :

    http://msdn.microsoft.com/fr-fr/library/0c6xyb66.aspx

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 52
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    lorsque tu fais ton package de publication, il faut que tu dise d'intégrer ces fichiers et où les copier. C'est là que tu vas définir un sous-dossier de l'emplacement de l'exécutable.

    Regarde ce lien concernant le paramétrage des propriétés de chaque fichier pour qu'ils soient inclus à ta publication :

    http://msdn.microsoft.com/fr-fr/library/0c6xyb66.aspx
    Ok, alors, si j'ai bien compris, je choisi :

    Build Action : Embedded Resource
    Copy to Outpout Directory : Copy Always
    Custom tool :
    Custom tool Namespace : Resources\
    File Name : NomBdd.acdb
    File Path : le chemin actuel du fichier

    Et ce pour chacun des fichiers (images, son et bdd) de ressources, c'est bien ça?

    Merci.

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    Cela dépend en fait de ce que tu veux faire de tes fichiers.

    Personnellement, lorsque je veux que certains fichiers suivent mon executable mais qu'ils soient réellement présent comme fichier sur le disque, je prend

    Action de génération : Contenu
    Copier dans le répertoire de sortie : Toujours copier ou Copier si plus récent si c'est un fichier que le logiciel peut modifier (ex : ta base de données). Ça permet de ne pas réécraser le fichier et de conserver les modifications faites par le logiciel entre chaque session de debbugage
    le reste j'y touche pas.

    Attention, si tu as ajouter tes images par l'éditeur de ressources, celui-ci t'as automatiquement paramétrer les fichiers pour qu'ils soient incorporés à l'executable. Dans ce cas, il n'est pas nécessaire de copier tes fichiers sur le disque. Mais il ne faut pas, par contre dans ton code y acceder comme si tu ouvrais un fichier. Il faut passer par les ressources de l'application.

    Si par contre, tu as vraiment besoin des fichiers sur le disque (cas de la bdd par ex), il ne faut pas les inclure par l'éditeur de ressources, ça ferait doublon et ça fera grossir l'exécutable pour rien.

  7. #7
    Rédacteur
    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Kikouyou1080 Voir le message
    Bonjour a tous,

    Comment puis-je faire pour que le chemin de la bdd soit défini automatiquement lors de l'installation du programme?

    Merci, Kikouyou-1080
    Faut utiliser une référence relative regarde un peu cette methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AppDomain.CurrentDomain.BaseDirectory
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

Discussions similaires

  1. Dataset, chemin de la base de données
    Par sanfour_walhan dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/02/2008, 10h58
  2. chemin de la base de donnes
    Par sanfour_walhan dans le forum VB.NET
    Réponses: 3
    Dernier message: 23/09/2007, 18h05
  3. chemin reseau pour Base de donnée
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 19/10/2006, 11h15
  4. databasename, définir le chemin de la base de données sous builder
    Par didier17062006 dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/10/2006, 16h30
  5. Réponses: 1
    Dernier message: 22/09/2005, 16h23

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