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

 Delphi Discussion :

Problème chemin de base de données


Sujet :

Delphi

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut Problème chemin de base de données
    Bonjour,

    Toujours avec mon fameux projet... J'ai un nouveau problème : mon application s’exécute le plus normalement du monde mais dès que je change le dossier ou l’endroit de l'exécutable j'ai droit à un message d'erreur du genre :
    'xxxxxx' n'est pas un chemin d'accès valide. Assurez-vous que le nom du chemin d'accès est correct et qu'une connexion est établie avec le serveur ....
    Je cherche un moyen pour que l'application reconnaisse le chemin de ma base de données même si je change de dossier ou de PC sachant que cette dernière se situe toujours dans le dossier de mon exécutable.

    Merci d'avance pour la réponse.

  2. #2
    Membre chevronné

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Par défaut
    Il est important de nous préciser le SGBD que tu utilises ainsi que les composants d'accès à la BDD.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    Citation Envoyé par adelneo Voir le message
    Il est important de nous préciser le SGBD que tu utilises ainsi que les composants d'accès à la BDD.
    la base est en access et TADOconnection comme composant.

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Par défaut
    Essayes d'utiliser un chemin absolu pour indiquer l'emplacement de la BDD, Sinon il y a mieux encore en utilisant les alias.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 025
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 025
    Par défaut Chemin de la base de donnees
    Bonjour,
    Tu peux recupérer le chemin de l'executable avec Application.Exename extraire le chemin avec ExtractFilePath(Application.Exename)

    Puis affecter le chemin au composant avec lequel tu accedes à la base de donnée. Ainsi quelque soit le repertoire ça marchera
    Bien sur l'affectation doit etre faite avant d'ouvrir la base de donnée (par exemple su l'évenement chargement du formulaire principal).

    Ceci étant il me semble que M. Microsoft préconise de mettre les données dans "Documents and Settings\..."
    Suivant le systeme d'exploitation et les droits dont tu disposes il peut y avoir des problemes d'écriture dans le répertoire de l'exécutable mais bon ...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    591
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 591
    Par défaut
    Bonjour,

    Il faut donner plus de souplesse à ton programme pour éviter les difficultés de ce type.

    Pour cela, il est nécessaire de prévoir une fiche qui offre la possibilité de modifier le chemin d'accès à ta base de données.

    Au démarrage du programme, tu vérifies l'accès à la base. S'il est inexact, il te met un message et te donne la main pour assurer la modification du chemin d'accès.

    A+

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    C'est bon, j'ai réglé le problème... J'ai trouver un bout de code sur internet que j'ai bidouillé et ça m'a donné ça :

    déclarations globales :
    ExePath, WinPath: string;
    I: LongInt;

    connection est le nom de mon adoconnection

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure Tajouter.FormCreate(Sender: TObject);
    begin
    maform.ActivePageIndex:=0;
     Setlength(WinPath, 255);
     I:= GetWindowsDirectory(PChar(WinPath), 255);
     Setlength(WinPath, I);
     if WinPath[Length(WinPath)] <> '\' then WinPath := WinPath + '\';
     ExePath:= ExtractFileDir(ParamStr(0));
     if ExePath[Length(ExePath)] <> '\' then ExePath := ExePath + '\';
     connection.Close;
     connection.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source="%s";' +
      'Persist Security Info=False;Jet OLEDB:Database Password={le mot de passe de ma base de données};', [ExePath + 'ma base de données.mdb']);
     connection.Open;
    end;
    Voila j'ai mis le code dans le ONCREATE de ma mainform... Je vous remercie pour votre aide une fois de plus.

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    Citation Envoyé par seabs Voir le message
    Bonjour,

    Il faut donner plus de souplesse à ton programme pour éviter les difficultés de ce type.

    Pour cela, il est nécessaire de prévoir une fiche qui offre la possibilité de modifier le chemin d'accès à ta base de données.

    Au démarrage du programme, tu vérifies l'accès à la base. S'il est inexact, il te met un message et te donne la main pour assurer la modification du chemin d'accès.

    A+
    Dans mon cas la base de données doit être codée pour des raisons commerciales donc je ne peux pas leur donner la main ; je cherche même à la rendre invisible ou d'un autre format méconnu comme ça elle n'aura pas l'air d'une base de données. Merci pour la suggestion, c'est sûr que ça va m'aider prochainement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème pour attacher base de données
    Par bpoulain dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 27/03/2006, 12h40
  2. problème avec ma base de donnée
    Par polace dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 22/10/2005, 22h26
  3. VB6 et Crystal Reports 8.5, pb de chemin de base de données
    Par exe dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 20/09/2005, 16h36
  4. problème avec ma base de données
    Par pmboutteau dans le forum ASP
    Réponses: 6
    Dernier message: 25/02/2005, 12h59
  5. Problême d'ouverture base de données
    Par comment_ca dans le forum Oracle
    Réponses: 20
    Dernier message: 14/12/2004, 12h39

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