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

Connexion aux bases de données Firebird Discussion :

Firebird 2.5 embed pour application mono poste


Sujet :

Connexion aux bases de données Firebird

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Firebird 2.5 embed pour application mono poste
    Bonjour a toutes et tous

    En préambule je ne sais pas si ma question est dan le bon forum, si ce n'est pas le cas merci de la déplacer et je m'excuse platement.

    Mon problème est le suivant :

    Avec la version 2.5 de FD embed il m'est impossible d’accéder à ma base de données message d'erreur : "unaviable database", je détaille

    J'ai suivi a la lettre la documentation pour déployer mon application le fichier doc (README_embedded.txt)
    voilà l'extrait :

    c:\my_app\app.exe
    c:\my_app\gds32.dll
    c:\my_app\ib_util.dll
    c:\my_app\icudt30.dll
    c:\my_app\icuin30.dll
    c:\my_app\icuuc30.dll
    c:\my_app\firebird.conf
    c:\my_app\firebird.msg
    c:\my_app\intl\fbintl.dll
    c:\my_app\intl\fbintl.conf
    c:\my_app\udf\fbudf.dll
    en plus de tous ces fichiers il y a mon exécutable et sa fameuse base de données

    J'ai essayé de renommer gds32.dll en fbembed.dll ou fbclient.dll le résultat est toujours identique : "unaviable database"
    Pour info les composants d'accès aux données utilisés permettent de choisir la librairie client.

    Autres informations importantes pour les tests MONO poste j’arrête le service Firebird de mon poste de travail.
    Quand le service Firebird est démarrer tout fonctionne, mais là c'est le serveur installé sur mon poste qui fait le boulot.

    Pour approfondir mes tests :

    - j'arrête le service Firebird 2.5 de mon poste de travail
    - j'installe une vieille application sur mon poste développée en 2007 qui utilise FB 1.5 embed et ho miracle elle fonctionne !

    La seule question que je me pose la version 2.5 embed de firebird est-elle fonctionelle ?

    Au vu des tests réalisés ma réponse serait NON pour le moment, mais si quelqu'un peut démentir je suis preneur !

    Bon dimanche à toutes et tous.

    Julien

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Il y a plusieurs choses qui me gênent dans cet exposé et demande des éclaircissements

    1.
    J'ai suivi à la lettre la documentation pour déployer mon application, le fichier doc (README_embedded.txt)
    Pas sûr que ce soit la bonne doc qui ait été lue surtout qu'il existe une version embedded téléchargeable https://firebirdsql.org/en/firebird-2-5/
    Attention à la version 32 ou 64-bits

    2.
    J'ai essayé de renommer gds32.dll en fbembed.dll ou fbclient.dll
    gds32.dll ! n'existe pas au sens strict du terme dans le package Firebird (c'est l'installation qui fait une copie de fbclient.dll vers gds32.dll

    Ce qui me fait demander, le programme est écrit avec quoi : version delphi+composants d'accès ou autre ?

    3.
    c:\my_app\app.exe
    ...
    c:\my_app\firebird.conf
    ...
    en plus de tous ces fichiers il y a mon exécutable et sa fameuse base de données
    ben, app.exe c'est l'exécutable non ?
    quant au firebird.conf il est à manipuler avec précaution donc, que contient-il ?

    La seule question que je me pose, la version 2.5 embed de firebird est-elle fonctionnelle ?
    jusqu'à la lecture de ce post, j'aurais écrit OUI
    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
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Prouves le

    Merci de ton aide

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par RRRR Voir le message
    Prouves le
    Est-ce qu'une application Androïd serait suffisante ? Bon, cela étant je l'utilise en client/serveur donc pas vraiment de l'embedded pur et dur.
    Faire une application embedded simple, je pourrais, mais cela nécessite un peu de temps libre dans mon planning de bénévole, donc un nouveau week-end
    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

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Bonjour

    Une application Windows serait parfait

    Une fiche deux boutons un composant base de données genre IBX
    une base de donnée firebird version 2.5 même vide
    le premier bouton sert a se connecter à la base
    le second sert à se déconnecter (si la connection ai réussie)
    plus tous les fichiers qui servent à faire marche en version embed
    le tous dans zip

    Au vu de tes compétences cela devrait te prendre 10 minutes max café compris

    Bonne journée

    Julien

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par RRRR Voir le message
    Une fiche deux boutons un composant base de données genre IBX
    Certainement pas IBX obsolète, ce sera Firedac ou ZEOSDBO (avec un préférence Firedac)
    C'est aussi pour cela que je demandais
    version delphi+composants d'accès
    pour en déduire où cela pouvait coincer
    Au vu de tes compétences cela devrait te prendre 10 minutes max café compris
    merci pour ce vote de confiance, mais cette semaine est particulièrement chargée, soirées comprises
    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
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Pour les composants base de données ZEOSDBO car firedac je ne m'en sert jamais
    et pour la version de delphi la plus proche de XE5

    Aller, bon courage et bonne semaine.
    Julien

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par RRRR
    Prouves le
    Ecco, sans en perdre mon latin

    10.4+Firedac
    Nom : Capture.PNG
Affichages : 337
Taille : 120,8 Ko

    seule astuce réelle mettre tout le zip (ici Firebird-2.5.9.27139-0_Win32_embed.zip) dans un répertoire bin, faire du ménage ensuite


    Nom : Capture_1.PNG
Affichages : 285
Taille : 58,3 Ko

    et indiquer vendorhome:=D:\serge\Documents\Embarcadero\Studio\Projets\Sidney\FBembedded\Win32\Debug\ (sans le bin)

    pour info les deux peuvent coexister sans avoir à arrêter le serveur (qui est de fait un FB 3)
    Nom : Capture_2.PNG
Affichages : 283
Taille : 33,8 Ko

    PS. je n'ai lu qu'après
    et pour la version de delphi la plus proche de XE5
    Sur ce poste, pas de XE5 (10.3,10.4,11)
    Pour les composants base de données ZEOSDBO car firedac je ne m'en sers jamais
    Dommage, car Firedac et nettement plus évolué (batchmove, macros ...)
    N.B. la version Android citée était avec des connecteurs ZEOS donc je ne doute pas que cela fonctionnera
    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
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut Ecco bis
    Delphi XE4 + ZEOSDBO 7.1.2 protocol firebirdd-2.5 library location renseignée

    Nom : Capture.PNG
Affichages : 284
Taille : 208,9 Ko
    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

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut beau boulot Sergiomaster
    Comment dois-je faire pour récupérer le zip de tout ce joli travail ?

    Amicalement

    Julien.

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Mes 10 cents.

    Je ne suis pas sûr que ce soit une bonne idée que de fournir un zip, le test est très facile à reproduire.
    L'important réside dans l'installation du zip Firebird-2.5.9.27139-0_Win32_embed.zip téléchargeable ici à décompresser dans le répertoire de l'application (ou un sous-répertoire de celle-ci), dans mon cas un sous répertoire 'bin' pour cadrer avec mon test avec Firedac

    dans le code il n'y a quasi rien, la LibraryLocation et la base de données (DataBase) étant codé en dur dans le dfm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    unit mainEmbeded;
     
    interface
     
    uses
      Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
      Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ZAbstractConnection, ZConnection,
      Vcl.StdCtrls, Data.DB, Vcl.Grids, Vcl.DBGrids, ZAbstractRODataset,
      ZAbstractDataset, ZAbstractTable, ZDataset;
     
    type
      TForm9 = class(TForm)
        ZConnection1: TZConnection;
        btnConnect: TButton;
        ZTable1: TZTable;
        DBGrid1: TDBGrid;
        DataSource1: TDataSource;
        BtnDisconnect: TButton;
        procedure btnConnectClick(Sender: TObject);
        procedure BtnDisconnectClick(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form9: TForm9;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm9.btnConnectClick(Sender: TObject);
    begin
    ZConnection1.Connect;
    if ZConnection1.Connected then  Ztable1.Active:=true;
     
    end;
     
    procedure TForm9.BtnDisconnectClick(Sender: TObject);
    begin
      Ztable1.Active:=true;
      ZConnection1.Disconnect;
    end;
     
    end.
    et le dfm ne vaut guère mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    object Form9: TForm9
      Left = 0
      Top = 0
      Caption = 'Form9'
      ClientHeight = 522
      ClientWidth = 743
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 96
      TextHeight = 13
      object btnConnect: TButton
        Left = 32
        Top = 16
        Width = 75
        Height = 25
        Caption = 'Connexion'
        TabOrder = 0
        OnClick = btnConnectClick
      end
      object DBGrid1: TDBGrid
        Left = 40
        Top = 80
        Width = 657
        Height = 393
        DataSource = DataSource1
        TabOrder = 1
        TitleFont.Charset = DEFAULT_CHARSET
        TitleFont.Color = clWindowText
        TitleFont.Height = -11
        TitleFont.Name = 'Tahoma'
        TitleFont.Style = []
      end
      object BtnDisconnect: TButton
        Left = 248
        Top = 16
        Width = 75
        Height = 25
        Caption = 'Deconnexion'
        TabOrder = 2
        OnClick = BtnDisconnectClick
      end
      object ZConnection1: TZConnection
        ControlsCodePage = cCP_UTF16
        Catalog = ''
        HostName = ''
        Port = 0
        Database = 'F:\RAD Studio\Tests\Win32\Debug\EMPLOYEE.FDB'
        User = ''
        Password = ''
        Protocol = 'firebirdd-2.5'
        LibraryLocation = 'F:\RAD Studio\Tests\Win32\Debug\bin\fbembed.dll'
        Left = 152
        Top = 16
      end
      object ZTable1: TZTable
        Connection = ZConnection1
        TableName = 'employee'
        Left = 80
        Top = 88
      end
      object DataSource1: TDataSource
        DataSet = ZTable1
        Left = 152
        Top = 96
      end
    end
    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

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Un Grand Merci Sergiomaster
    MERCI pour tout le temps que tu as passé pour m'aider malgré un emplois du temps surbooké
    Je te souhaites une belle semaine.

    Julien


    Question subsidiaire : Comment fait-on pour avoir deux serveurs FD de version différentes sur un même poste de travail pour mon cas une version 1.5 et une version 2.5

  13. #13
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 030
    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 030
    Points : 40 928
    Points
    40 928
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par RRRR Voir le message
    Question subsidiaire : Comment fait-on pour avoir deux serveurs FD de version différentes sur un même poste de travail pour mon cas une version 1.5 et une version 2.5
    réponse rapide : on modifie le port dans le firebird.conf
    1.5 est considérée obsolète
    2.5 n'est plus maintenue
    profites en pour mettre 3 et 4

    conseil pour l'installation arrêter les services firebird à chaque fois
    pour modifier firebird.conf ouvrir notepad ou autre en mode administrateur


    ci-dessous ma config pour firebird 4 que je ne démarre qu'au besoin (par défaut sur ce poste, c'est la conf de firebird 3 qui est sur le 3050)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # ----------------------------
    # TCP Protocol Settings
    #
    # The TCP Service name/Port number to be used for client database
    # connections.
    #
    # It is only necessary to change one of the entries, not both.  The
    # order of precendence is the 'RemoteServiceName' (if an entry is
    # found in the 'services.' file) then the 'RemoteServicePort'.
    #
    # Per-connection configurable.
    #
    # Type: string, integer
    #
    #RemoteServiceName = gds_db
    #RemoteServicePort = 3050
    RemoteServicePort = 3054
    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: 1
    Dernier message: 31/03/2017, 20h45
  2. Aide au developpement d'une Application mono poste
    Par Davypat dans le forum WinDev
    Réponses: 1
    Dernier message: 15/02/2017, 11h08
  3. corba pour une application mono-utilisateur
    Par louzorios dans le forum CORBA
    Réponses: 2
    Dernier message: 25/03/2010, 16h19
  4. Application mono-poste avec BD
    Par charliejo dans le forum Mono
    Réponses: 2
    Dernier message: 17/12/2009, 20h28
  5. [Choix SGBD] Application mono-poste mais beaucoup de données
    Par Wavyx dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 16/03/2003, 18h24

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