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

Bases de données Delphi Discussion :

[D7] [PARADOX] connexion sans alias


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut [D7] [PARADOX] connexion sans alias
    Bonjour à tous,

    Voila je souhaiterais me connecter à une base de donnée paradox depuis une application Delphi. Mais pour cette connexion je ne veux pas créer un alias, j'ai donc configuré mon composant Tdatabase comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Project1Database:=Tdatabase.Create(NIL);
    Project1Database.Connected:=false;
    Project1Database.DatabaseName:=DatabaseAlias;
    Project1Database.DriverName:='PARADOX';
    Project1Database.LoginPrompt:=false;
    Project1Database.Connected:=true;
    DatabaseAlias est le chemin d'accès à la base de donnée.
    Je n'ai pas renseigné l'onglet params parce que je ne crois pas qu'il y ait des modalités de connexion spéciales (login, paasword,...).
    Voila j'exécute et j'ai le message d'erreur 'objet non trouvé' qui apparait quand je passe sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Project1Database.Connected:=true;
    Toutes vos suggestions sont les biens venues
    Merci d'avance

    vince

  2. #2
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    il faut mettre dans la propriete Params PATH=[suivi du dossier où se trouve tes tables paradox]
    exemple :

    PATH=C:\dossier paradox

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    merci de ta réponse

    Toutefois quelque chose me chagrine, je pensais que l'on devais mettre le chemin d'accès dans l'onglet DatabaseName (DatabaseAlias est un chemin d'accès que je prends d'un .INI).

    Alors si on met comme tu le dis le chemin dans les paramètres, qu'est ce que je dois mettre dans DatabaseName (j'ai essayé de mettre le chemin aussi mais ca ne fonctionne pas)?

    vince

  4. #4
    Teo
    Teo est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    Slt,

    Si tu utilises plutot un TTAble ou TQuery
    (qui eux vont utilisés un TDataBase par défaut)
    tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Table := TTable.Create(Nil);
    Table.DataBaseName := 'C:\NomRep\SousRep''
    Table.TableName := 'NomFic.Db'
    Table.Open
     
    Ou bien
     
    Query := TQuery.Create(Nil);
    Query.DataBaseName := 'C:\NomRep\SousRep''
    Query.Sql.Text := 'Select * From "NomFic.Db"'
    Query.Open
    Mais avec directement TDataBase, je sais pas.

  5. #5
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    avec le TDatabase comme je l'ai indiqué plus haut, le seul avantage, est que tu relies tous les datasets (TTable, TQuery, T...) sur ce même TDatabase et donc sur ce chemin.
    Ensuite juste avant de d'ouvrir un dataset, (fait ouvrir le database), tu peux lui mettre un autre chemin.

    Il ne faut pas oublier de mettre un composant TSession rataché au TDatabase.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    Merci pour vos réponse,

    Teo, en fait ce que je veux faire c'est avoir un database pour relier tout mes dataset (comme l'a si bien dit rv66), je pense que c'est plus 'propre'.

    Rv66, j'ai bien mis un Tsession avec mon Tdatabase et dans tout mes dataset j'ai spécifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    databasename:=Project1Database;
    Mais mon problème c'est quand je configure mon composant Tdatabase, je lui donne le chemin d'accès dans params comme tu me l'as dit, mais je ne sais pas ce qu'il faut que je mettes dans l'onglet Databasename de ce composant. Quand je ne met rien , il me dit qu'il manque le nom de la base de donnée.

    *J'avais pensé lui mettre le nom du fichier *.gdb lié à ma base, mais je crois que c'est spécifique aux base Interbase, en tout cas je ne l'ai pas trouvé pour ma BdD.

    *J'ai aussi essayé en lui mettant son propre nom (celui que j'ai mis dans
    name) mais ca me met objet non trouvé.... ce qui est un peu normal.

    Enfin voila ma question tu l'auras compris c'est qu'est-ce qu'il attend dans la propriété Databasename du composant Tdatabase.

    merci
    ++
    vince

  7. #7
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    attention, c'est pour interbase ou paradox ? car ce n'est pas pareil.
    dans databasename tu peux mettre le nom que tu veux par exemple MaBase. Et tu fait en sorte que tous les datasets du database utilise ce nom.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    ma base de donnée est sous paradox...désolé si mon message étant ambigu.

    vince

  9. #9
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    et le mieux pour avoir la paix avec tsession est de le mettre en autoname.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    bon ok je pensais que les dataset se référait au paramètre name de mon Tdatabase.
    J'ai donc corrigé l'erreur mais ca ne marche toujours pas, il me replante au meme endroit avec le message 'objet non trouvé', pourtant j'ai bien vérifié mon chemin et il est bon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    database1:=Tdatabase.Create(NIL);
    database1.Connected:=false;
    database1.DatabaseName:='Project1Database';
    database1.DriverName:='PARADOX';
    database1.LoginPrompt:=false;
    database1.Params.Add('PATH=E:\vince\suivi annalytique de projet\pointage\Base');
    database1.Connected:=true;

    Pour le Tsession je l'ai pas mis en autoname (en fait je me suis pas posé la question). Je lui est donné un nom que j'ai reporté sur mon Tdatabase et mes Tdataset, ca pas l'air de poser de problème. En tout cas le message d'erreur fait plutot penser à une mauvaise configuration du database (du moins je crois, non?).

    merci pour ton aide
    vince

  11. #11
    Membre du Club

    Inscrit en
    Juillet 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 48
    Points : 58
    Points
    58
    Par défaut
    database1:=Tdatabase.Create(Session1);
    ....
    database1.DriverName:='STANDARD';
    .....

    le driver PARADOX, je pense que tu ne doit pas l'avoir dans ta liste.

    la ça marche

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 128
    Points : 73
    Points
    73
    Par défaut
    YAHOOOOOOOO!!! it's work

    Super merci beaucoupppppppppppppppppp

    En effet PARADOX ne faisait pas parti de ma liste mais je trouvais ca tellement logique que je me suis pas posé de question....ca m'apprendra.

    Merci

    vince

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

Discussions similaires

  1. Activation du service connexion sans fil
    Par Zetophe dans le forum Windows XP
    Réponses: 3
    Dernier message: 26/10/2006, 08h33
  2. Base de donnees : connexion sans ODBC
    Par Lnx2050 dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 18/07/2006, 18h41
  3. [Sql*Plus] connexion sans voir le psswd
    Par SheikYerbouti dans le forum Oracle
    Réponses: 13
    Dernier message: 15/02/2006, 10h37
  4. [MYSQL] Connexion sans lien ODBC
    Par Shadowritter dans le forum JDBC
    Réponses: 4
    Dernier message: 07/06/2005, 08h54
  5. connexion sans Dsn
    Par HULK dans le forum ASP
    Réponses: 4
    Dernier message: 12/03/2004, 18h12

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