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

Composants VCL Delphi Discussion :

Composants ZeosDBO et Firebird en réseau


Sujet :

Composants VCL Delphi

  1. #1
    Membre émérite
    Composants ZeosDBO et Firebird en réseau
    Bonjour

    J'ai voulu tester les composants Zeos sur une machine virtuelle pour utiliser des données sur une base Firebird en réseau et je n'ai pas réussi.
    En local, tout va bien mais en mettant une IP distante d'une machine où j'ai un Firebird qui tourne, je me retrouve à chaque tentative de connexion avec un message indiquant un problème de "create or open file ..."
    La même connexion avec un composant Firedac ne pose aucun problème.

    Ces composants Zeos ont-ils un paramètre à renseigner que j'aurais "zapper" à un moment ?

    Je précise que j'ai bien mis la bonne IP, le bon port, et que j'ai essayé avec le nom du poste distant au lieu de l'IP et que le résultat est le même.

  2. #2
    Nouveau membre du Club
    Bonjour,

    J'utilise les composants Zeos sur un Delphi 2007 pour attaquer des bases de données MySQL.

    Exemple de code :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if not Assigned(cnEligibilite) then
    begin
      cnEligibilite := TZConnection.Create(nil);
      cnEligibilite.Protocol := 'mysqld-5';
      cnEligibilite.HostName := 'LeHostNameOùSeSitueLaBase';
      cnEligibilite.Database := 'LeNomDeLaBase';
      cnEligibilite.User     := 'Utilisateur';
      cnEligibilite.Password := 'MotDePasse';
    end;


    Je ne sais pas si cela peut t'aider.
    Pour le protocole, il te faut un truc du genre : 'firebird-1.5'

    Petite question, est-ce que ton utilisateur a les droits sur le serveur?

    En espérant t'avoir un peu aidé.

    Bonne journée,
    Seb.

  3. #3
    Membre émérite
    Je suis dans l'IDE Delphi XE7, et donc c'est le même utilisateur sur les 2 composants Zeos et Firedac.
    Si ça fonctionne avec Firedac, ça devrait fonctionner avec Zeos.
    J'ai pris exactement les mêmes paramètres pour les 2 composants.
    Et pour le protocole c'est celui pour Firebird 2.5
    Je n'ai pas testé avec un autre SGBD mais je pourrais sur MySQL ou SQL Server mais je ne sais pas si ça résoudra le problème actuel.

  4. #4
    Expert éminent sénior
    Citation Envoyé par Papy214 Voir le message
    Bonjour

    J'ai voulu tester les composants Zeos sur une machine virtuelle pour utiliser des données sur une base Firebird en réseau et je n'ai pas réussi.
    En local, tout va bien mais en mettant une IP distante d'une machine où j'ai un Firebird qui tourne, je me retrouve à chaque tentative de connexion avec un message indiquant un problème de "create or open file ..."
    La même connexion avec un composant Firedac ne pose aucun problème.

    Ces composants Zeos ont-ils un paramètre à renseigner que j'aurais "zapper" à un moment ?

    Je précise que j'ai bien mis la bonne IP, le bon port, et que j'ai essayé avec le nom du poste distant au lieu de l'IP et que le résultat est le même.
    "create or open file..." c'est généralement le chemin d'accès à la base qui n'est pas bon...celui donné à la place des "..."
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre émérite
    Ah :-(

    Pour le composant Firedac, j'ai mis le nom de l'alias de la base.
    J'ai fait de même pour le composant Zeos.
    Le problème c'est que ce composant affiche une boite de dialogue de choix de fichier pour la propriété Database et je ne peux pas sélectionner le fichier sur le poste distant.
    Ce qui veut dire qu'il faut que je trouve comment lui indiquer un fichier sur un serveur distant.
    Peut-être un chemin relatif par rapport au répertoire bin de Firebird sur le poste dstant.
    Je vais essayer et je reviendrai rendre compte.

  6. #6
    Expert éminent sénior
    tu as deux façon d'indiquer le nom de la base

    1) le nom physique du fichier sur le serveur (C:\Bases\MaBase.FDB, /var/usr/db/mabase, ...)

    2) utiliser l'alias défini sur le serveur

    attention, le répertoire où se trouve la base peut être défini dans firebird.conf, on peut tout autoriser, ou forcer un chemin en particulier par exemple

    ceci dit, Firedac et Zeos sont confrontés au même serveur, il faut donc indiquer les mêmes paramètres (mais pas forcément au même endroit)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre émérite
    effectivement, c'est le chemin d'accès sur le poste distant.
    Mais l'alias ne fonctionne pas.
    L'important est que ça fonctionne.

    Merci

  8. #8
    Rédacteur/Modérateur

    Citation Envoyé par Papy214 Voir le message
    effectivement, c'est le chemin d'accès sur le poste distant.
    Mais l'alias ne fonctionne pas.
    L'important est que ça fonctionne.

    Merci
    Je suis étonné que l'alias ne fonctionne pas, j'aurais parié sur l'inverse mais je n'ai pas envie de faire l'essai
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd