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

EDI Delphi Discussion :

[XE8]Problème connexion base de données interbase - android


Sujet :

EDI Delphi

  1. #1
    Membre régulier
    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
    Points : 77
    Points
    77
    Par défaut [XE8]Problème connexion base de données interbase - android
    Bonjours ,

    - Apres plusieurs tentatives échoués pour connecter une base de données SQLite A mon application android (voila mon topic ===>> http://www.developpez.net/forums/d15...ation-android/j'ai décider de me tourner vers interbase , j'ai suivi ce tuto http://docwiki.appmethod.com/appmeth...S_and_Android) mais quant j’essaye de tester la connexion j'ai ce message d’erreur
    [FireDAC][Phys][IB]Unable to complete network request to host "DilouPC/3050".
    Failed to establish a connection.
    Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée.
    j’espère trouver une solution et de pouvoir enfin commencer a développer mon application .merci d'avance.
    Delphi XE8 Architect - Win 10

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    à mon avis, utilises l'adresse IP du PC et non son nom connu uniquement par windows.
    De plus vérifies que le pare-feu ne bloque pas le port 3050
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre régulier
    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
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    à mon avis, utilises l'adresse IP du PC et non son nom connu uniquement par Windows.
    De plus vérifies que le pare-feu ne bloque pas le port 3050
    - comment faire pour utilises l'adresse IP du PC ..? parce-que quand j'utilise l'adresse IP au lieu de 'C:' directement dans la connectionstring ça change rien.

    - j'ai carrément stopper le pare-feu mais ça n'a pas marcher .
    Delphi XE8 Architect - Win 10

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    comment espères-tu te "connecter" sur une base locale SQLite en utilisant un driver "Interbase" vers un PC distant ? IBLite (comme SQLite) est une base locale sur Android.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre régulier
    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
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    comment espères-tu te "connecter" sur une base locale SQLite en utilisant un driver "Interbase" vers un PC distant ? IBLite (comme SQLite) est une base locale sur Android.
    Pour SQLite j'ai utilisé le driver SQLite ... voila le poste qui explique ce que j'ai fait http://www.developpez.net/forums/d15...d/#post8253620 et bien entendu j'ai tous configurer pour ce connecter a la base de donnée interne sur android "assets\internal\" et je ne sais pour quelle raison ça n'a pas marcher et puisque j'ai perdus beaucoup de temps sans me parvenir a me connecter en utilisant le SGBD SQLite, j'ai décider d’essayer avec Interbase ,donc ce topic il concerne la connexion interbase a android ,que pour le moment je bloque a l'étape ou il faut connecter la base de données en interne (PC localhost) .
    Delphi XE8 Architect - Win 10

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    une petite précision : la base de données Interbase est sur le poste android ou sur un poste du réseau (comme je l'avais compris au départ) ?
    si poste Androïd alors il faut utiliser local comme protocole et indiquer la database sur le poste android (base embarquée)
    sinon il faut utiliser le protococle TCPIP, le port et l'adresse ip comme server

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Database=base
    User_Name=SYSDBA
    Password=*****
    Protocol=TCPIP
    Server=192.168.1.60
    Port=3050
    DriverID=IB
    à noter que je n'ai pas mis le nom de la Database mais utiliser le nom d'un alias
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre régulier
    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
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    une petite précision : la base de données Interbase est sur le poste android ou sur un poste du réseau (comme je l'avais compris au départ) ?
    si poste Androïd alors il faut utiliser local comme protocole et indiquer la database sur le poste android (base embarquée)
    sinon il faut utiliser le protococle TCPIP, le port et l'adresse ip comme server

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Database=base
    User_Name=SYSDBA
    Password=*****
    Protocol=TCPIP
    Server=192.168.1.60
    Port=3050
    DriverID=IB
    à noter que je n'ai pas mis le nom de la Database mais utiliser le nom d'un alias

    Vu que je suit le Tuto la base de données et sur mon ordinateur (comme tu l’avais compris au départ ).

    après quelques recherches j'ai trouver quelque un's qui on rencontrer le même problème sauf que je ne comprend pas très bien l'anglais en plus de ma confusion quant il s'agit de fichiers dll et fichier Windows .



    je vous remercie .
    Delphi XE8 Architect - Win 10

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il a fallu que je relise le post de départ avec SQLite pour tenter de comprendre !
    Donc il s'agit d'un base données "embarquée", de ce fait "DilouPC/3050" est bien sur totalement non indiqué comme "connexion" , le protocole doit être mis à local et attention au chemin de la base de données, si sous windows la base de données est dans un répertoire c:\ ..... ce ne sera bien évidement pas le cas sous androïd !

    bien que tu ne maitrises pas l'anglais,
    montre bien les étapes à suivre
    en la regardant en boucle, avec beaucoup de pause, tu devrais pouvoir t'en sortir Thierry Laborde nous fait pratiquement la même démo en français (je savais bien qu'il y en avait une quelque part, mais je ne l'ai trouvé qu'après)

    Seul reproche que je ferais à ces deux démos : ils utilisent un FdTable et plusieurs querys (insert,delete) où un FdQuery et un fdSQLUpdate pourrait faire la même chose mais bon, je chipote ...
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre régulier
    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
    Points : 77
    Points
    77
    Par défaut
    merci pour votre aide et désole pour mon insistance mais je ne suis pas encore au stade de l'exécution de mon application pour faire ce qu'il ya dans la vidéo il faut d'abord réussir a connecter la base de données en interne pour pouvoir ensuite : faire des testes, remplir les requêtes , attacher les composants avec les enregistrements approprier ,a ce moment la vidéo serra utile puisqu'elle montre comment faire pour ce connecter a la base de donner depuis le périphérique mobile .par contre la toute suite mon problème c'est que même en interne je ne peut pas connecter la base de données et ça me donne ce message d’erreur :
    [FireDAC][Phys][IB]Unable to complete network request to host "DilouPC/3050".
    Failed to establish a connection.
    Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
    je vous rappelle que j'ai trouver une personne qui a eu le même problème et qu’apparemment il a su le réglé (voila le lien :http://stackoverflow.com/questions/7...-firebird-on-j

    si quelqu'un pourrai déchiffrer la manière avec la quel il a pu réglé le problème ça me ferrai énormément avancer parce-que la je fait du surplace en plus de ça, a par ces deux sgbd pas d'autre solution .merci encore.
    Delphi XE8 Architect - Win 10

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Essayez de poser le problème correctement. Vous parlez de connexion Interbase Andoid dans le titre et rien ne nous permettait de comprendre qu'il s'agissait non pas d'un problème sur le poste de développement sauf peut être le fait que cela soit posté sous la rubrique EDI plutôt que Base de Données ! Nous lecteurs, ne sommes pas de grand devins ni devant votre poste !

    Si je comprends bien alors, il s'agit d'un problème de connexion sur votre poste de développement et donc en mode design ou debug sur Windows, Pourquoi alors avoir parler d'Android ! ce qui ne fait qu'apporter de la confusion ! pas besoin alors de traduire ce qu'il y a sur stackoverflow (nota : vous pouvez utilisez des outils de traduction automatique, pour ce qu'ils valent, si vous avez quelques peines avec l'anglais)

    Donc plusieurs pistes sont possibles :
    a) le serveur Interbase sur votre pc de dev n'est pas démarré
    passez par services.msc pour vérifier (ou panneau de configuration/services)

    b) le User/mot de passe pour se connecter n'est pas bon
    si pour IBLite il n'y a pas besoin de user/mdp ce n'est pas le cas sur votre poste de dev qui lui a une version client/serveur d'Interbase

    c) vous avez aussi Firebird sur votre poste et écrasé gds32.dll, et dans ce cas vous utilisez le port 3050 aussi pour Firebird (installation par défaut)
    plus complexe, surtout si vous voulez garder Firebird et n'utiliser Interbase que de temps en temps !
    via services.msc arrêter les services Firebird et démarrer ceux d'Interbase mais cela ne suffira pas à cause de GDS32.dll, il faudrait aussi pouvoir gérer cette biblio (et attention si le poste est en 64bits il y a deux versions de cette dernière). Une autre solution consisterai a poser les 2 drivers FDPhysIB et FDPhysFB, et d'utiliser FB en dev

    d) la base de données n'est pas accessible pour une raison quelconque
    première chose à vérifier, les informations de connexion du composant fdconnection
    Database=c:\monessai\mabase.gdb
    User_Name=SYSDBA
    Password=masterkey
    Protocol=local
    Server=
    Port=
    DriverID=IB
    Utilisez l'éditeur de connection Firedac en double cliquant sur le FDConnection et faites le test . (Pour ma part j'ai Firebird installé et démarré , j'ai malgré tout tenté une connection IB sur une base Firebird, cela passe)
    en local pas de port d'écoute (construction par défaut de protocol=local => serveur=localhost port=3050) donc ce n'est pas un problème de pare-feu




    PS. ne pas mettre tout mon post en citation en répondant, cela ne sert à rien
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  11. #11
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    ok, je tente l'expérience

    nouveau projet FMX
    dans l'onglet Exporateur de données
    Firebird, clic droit, Ajouter une nouvelle connexion "FB25"

    Database: le chemin de la base sur le servyer
    User_Name: le user
    Password: le mot de passe
    Protocol: TCPIP
    Server: adressse IP du serveur (qui n'est pas la machine locale)
    RoleName: rôle pour le user

    [Tester] -> Impossible de charger la bibliothèque du fournisseur [fbclient.dll or fbembeded.dll]...

    normal, je n'ai pas le client FB sur ma machine, je copie fbclient.dll 32bits dans C:\WINDOWS (sur un Windows 64bits), ça fonctionne.

    je clique sur le "+" et vais chercher une table quelconque que je drag&drop sur la fiche. ce qui crée un TFDConnection et un TFDQuery

    j'ajoute une TStringGrid que je lie au Query, mes données s'affichent

    changement de Plate-Forme et je passe à Android, je compile sans autre forme de procès et j'obtient une erreur "EFDException avec le message '[FireDAC][Stan][Def]-254. la définition [FD25] ne se trouve pas dans []".

    et en effet, clic droit sur le FDConnection, Editeur de connexion, il fait référence à la définition FB25 au lieu d'utiliser un pilote, je force donc "FB", retape la configuration et réactive le Query. Les données s'affichent, compilation.

    j'obtiens une exception et dans la pile d'appel je vois ":77ACFCAC IBEMBED_init()", ce qui ne me semble pas bon signe. pour un FireBird distant....

    Projet/Déploiement, clic sur le dossier jaune avec un + vert, et là, on constate qu'il n'existe pas de driver Firebird pour Android (l'équivalent de fbclient.dll mais en .so pour Android)

    en fait il en existe un ici, mais il n'est pas possible de l'associer à FireDAC dont les drivers sont codés en dur.

    Fin de l'histoire (pour FireDAC sous Delphi XE8 en tout cas).
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 935
    Points
    40 935
    Billets dans le blog
    62
    Par défaut
    Re,
    Paul, merci d'avoir tenté avant moi, j'y pensais mais sans plus
    Cependant adelcrb parle bien de IBLite (donc pour Firedac pas de soucis), si j'ai parlé de Firebird c'est simplement pour indiquer un piège possible.

    Citation Envoyé par Paul Toth
    mais il n'est pas possible de l'associer à FireDAC dont les drivers sont codés en dur.
    tu oublies que tu peux changer les vendorhome et vendorlib au niveau du composant FDPhysFBdriverlink, mais comme je n'ai toujours pas le temps de tester ....
    puisque, comme tu l'indiques, Firebird "tourne" aussi sur android, peut être que la prochaine version de XE l'intégrera (je doute)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/03/2010, 17h47
  2. Probléme connexion base de données
    Par Micke7 dans le forum iReport
    Réponses: 8
    Dernier message: 05/12/2008, 10h04
  3. Problème connexion base de données
    Par mathyass dans le forum Autres
    Réponses: 1
    Dernier message: 21/07/2008, 21h54
  4. Problème connexion base de données
    Par realkilla dans le forum ASP
    Réponses: 4
    Dernier message: 21/07/2008, 12h42
  5. Réponses: 3
    Dernier message: 27/04/2006, 16h21

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