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 :

Exporter une base de données et son programme de gestion


Sujet :

Bases de données Delphi

  1. #21
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    http://sourceforge.net/projects/uib/files/
    personnellement j'utilise ceux-ci mais mise à jour via SVN
    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

  2. #22
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut


    Ça progresse mais...

    J'ai réussi à installer les composants UIB

    Merci Sergiomaster ;

    J'ai créé un tout petit projet qui me permet d'accéder à ma base de données avec:

    1 TUIBDatabase et ses propriétés DatabaseName (chemin de ta DB) et LibraryName (chemin vers fbclient.dll)
    1 TUIBTransaction et sa propriété Database reliée au TUIBDatabase ci-dessus
    1 ou plusieurs TUIBDatasetet avec leurs propriétés Transaction (TUIBTransaction ci-dessus) et SQL (la requête)
    Merci paradise ,

    J'y ai ajouté un Datasource relié à un DBGrid. C'est on ne peut plus simple et ça fonctionne sur mon PC hôte.

    Mais... pas moyen de l'exporter.

    Dès que je fais passer la propriété Connected du UIBDatabase à true, j'ai

    unavailable database
    Unsuccessful execution caused by an unavailable ressource.
    Error Code: 55
    J'arrête là pour ce soir, si quelqu'un peut encore m'aider...

  3. #23
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    C'est on ne peut plus simple et ça fonctionne sur mon PC hôte.
    tu veux dire le PC ou il y a Delphi ?


    Ce que je voudrais savoir c'est si Firebird est correctement installé sur le PC Hôte ? D'ailleurs s'agit-il d'un PC Hôte de l'application et de la base ou d'un PC client , la base étant sur le réseau .

    Ensuite , Firebird sur le PC Hôte est il correctement installé ? est-ce de l'embedded ou comme sur le PC de Dev. n'y aurait t-il pas un concurrent genre Interbase sur le PC qui pourrait géner ?

    Sur ton PC de développement Firebird est installé comment ? en Client/Serveur/service (installation classique) ou en embedded comme sur ton PC Hôte ?
    car attention dans ce cas la bibliothèque à indiquer n'est pas la même .

    Peut-voir le source de la partie connexion ce sera plus "parlant"
    La Base de Données est correctement transférée sur le PC Hôte
    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

  4. #24
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut
    Petite précision concernant le PC "hôte" et le PC de développement: c'est le même.

    Le but de mon appli est de pouvoir fonctionner sur n'importe quel PC, sans y installer trop de choses en plus.

    Pour l'instant, sur le PC de développement, j'ai Delphi avec Firebird 2.5.
    Firebird est installé (je viens de le ré-installer pour être sûr) en "Composants serveur: Binaires Super serveur" puis "Exécuter le serveur Firebird en tant que service". Le résumé de l'installation de Firebird:

    Dossier de destination :
    C:\Program Files\Firebird\Firebird_2_5

    Type d'installation :
    Installation personnalisée

    Composants sélectionnés :
    Composants serveur
    Binaires Super Serveur
    Composants outils développeur et administrateur
    Composants client

    Dossier du menu Démarrer :
    Firebird 2.5 (Win32)

    Tâches supplémentaires :
    Utiliser Guardian pour controler le serveur?
    Exécuter le serveur Firebird en tant que:
    Exécuter en tant que Service?
    Exécuter automatiquement Firebird à chaque démarrage?
    "Installer l'application du panneau de configuration?"
    Générer la bibliothèque GDS32.DLL pour les anciennes applications?
    La base de données est un fichier local (c:\Temp\Cahier.fdb).


    Voici le code qui me sert d'essai à l'export:

    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
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, JvExDBGrids, JvDBGrid, DB, uibdataset, uib, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Base: TUIBDataBase;
        UIBTransaction1: TUIBTransaction;
        Dataset: TUIBDataSet;
        DataSource1: TDataSource;
        JvDBGrid1: TJvDBGrid;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    base.DatabaseName:='c:\temp\cahier.fdb';
    base.connected:=true;
    dataset.Active:=true;
    end;
     
    end.

    Mon intention est de "simplement" copier / coller l'appli + la base de données + éventuellement une dll vers un autre PC pour mon appli fonctionne n'importe où .

    Je me pencherai bientôt sur le fbembed.dll voir si je peux en tirer quelque chose mais je ne sais toujours pas comment m'y prendre...

  5. #25
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut LibraryName
    bonjour

    écrire juste : fbclient.dll

    sans rien de plus.

    Est-ce que ta bases est créée avec la firebird 2.5, sinon il faut la sauvegarder avec un back up dans IBExpert par exemple, et la restaurer en 2.5.

    cordialement

    André

  6. #26
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Petite précision concernant le PC "hôte" et le PC de développement: c'est le même.
    ce qui n'etait pas aussi évident que ça
    Citation Envoyé par jackvpt Voir le message
    Le but de mon appli est de pouvoir fonctionner sur n'importe quel PC, sans y installer trop de choses en plus.
    Donc le choix doit se faire sur Embedded si c'est du monoposte

    Citation Envoyé par jackvpt Voir le message
    Pour l'instant, sur le PC de développement, j'ai Delphi avec Firebird 2.5.
    Firebird est installé en tant que service
    ceci explique pourquoi ibexpert fonctionne

    Citation Envoyé par jackvpt Voir le message
    Voici le code qui me sert d'essai à l'export:
    j'aurais dit la connexion et il manque des choses mises par défaut par UIB mais à connaitre

    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
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    // dans le cas d'une install 'client/serveur classique'
    base.LibraryName:='C:\Program Files\Firebird\Firebird_2_1\bin\fbclient.dll';
    // pour embedded
    //base.LibraryName:='fbembed.dll';
    // je prefére utiliser le prtocole tcpip et le port 3050 ca gére le pb des antivirus/parefeu délicats 
    base.DatabaseName:='localhost/3050:c:\temp\cahier.fdb';
    // dans le cas d'un client/serveur ne pas oublier les user et password
    base.user:='SYSDBA';
    base.password:='masterkey';
    base.connected:=true;
    dataset.Active:=true;
    end;
    attention si mes souvenirs sont bon par défaut les uib propose embedded
    vérifier également les charsets (UTF8 par défaut) et dialect (3) de connexion

    Mon intention est de "simplement" copier / coller l'appli + la base de données + éventuellement une dll vers un autre PC pour mon appli fonctionne n'importe où .
    le "éventuellement une dll" oblige embedded , avec quelques autres trucs d'ailleurs
    cela n'empêche , une bdd ne doit pas être copier directe (c:\temp\cahier.fdb) mais plutôt par backup/restore (ce que UIB peut faire)
    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. #27
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut
    Merci pour ces détails indispensables

    J'ai fait les réglages adéquats, notamment au sujet de fbembed puisque l'appli fonctionnera en monoposte.

    Aurais-tu la gentillesse à présent de m'indiquer la procédure avec IBExpert pour exporter ma base de données sur le deuxième PC s'il te plait ? Faut-il installer IBExpert sur ce 2ème poste ?

  8. #28
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut avec tuibRestore et tuibBackup
    Bonjour
    Voilà le code de ma fiche de sauvegarde, je pense qu'il est relativement clair, et peut-être que je l'améliorerai au vu des critiques qui suivront
    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
     
    unit uSauvegarde;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ActnList, uib, StdCtrls, Buttons, ExtCtrls;
     
    type
      TfSauvegarde = class(TForm)
        Panel1: TPanel;
        Label1: TLabel;
        Label2: TLabel;
        eVLC: TEdit;
        BitBtn1: TBitBtn;
        eFBK: TEdit;
        BitBtn2: TBitBtn;
        bbSauvegarde: TBitBtn;
        bbRestauration: TBitBtn;
        mLog: TMemo;
        UIBbcVulcain: TUIBBackup;
        UIBrVulcain: TUIBRestore;
        ActionList1: TActionList;
        aInitVariables: TAction;
        sdSave: TSaveDialog;
        odOpen: TOpenDialog;
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure aInitVariablesExecute(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
        procedure BitBtn2Click(Sender: TObject);
        procedure bbRestaurationClick(Sender: TObject);
        procedure bbSauvegardeClick(Sender: TObject);
        procedure UIBrVulcainVerbose(Sender: TObject; Message: string);
        procedure UIBbcVulcainVerbose(Sender: TObject; Message: string);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      fSauvegarde: TfSauvegarde;
     
    implementation
     
    {$R *.dfm}
     
    uses uMain,udmVulcain;
     
    procedure TfSauvegarde.aInitVariablesExecute(Sender: TObject);
    begin
      eVLC.Text:=dmVulcain.UIBdbVulcain.DatabaseName;
      eFBK.Text:=fMain.vSave;
     
      //variables de Sauvegarde
      UIBbcVulcain.LibraryName:=dmVulcain.UIBdbVulcain.LibraryName;
      UIBbcVulcain.UserName:=dmVulcain.UIBdbVulcain.UserName;
      UIBbcVulcain.PassWord:=dmVulcain.UIBdbVulcain.PassWord;
      //JvUIBbcVulcain.Host:=fMain.vFBHost;
      if dmVulcain.vProtocol='proLocalHost' then UIBbcVulcain.Protocol:=proLocalHost;
      if dmVulcain.vProtocol='proTCPIP' then UIBbcVulcain.Protocol:=proTCPIP;
      if dmVulcain.vProtocol='proNetBEUI' then UIBbcVulcain.Protocol:=proNetBEUI;
     
      //variables de restauration
      UIBrVulcain.LibraryName:=dmVulcain.UIBdbVulcain.LibraryName;
      UIBrVulcain.UserName:=dmVulcain.UIBdbVulcain.UserName;
      UIBrVulcain.PassWord:=dmVulcain.UIBdbVulcain.PassWord;
      //JvUIBrVulcain.Host:=fMain.vFBHost;
      if dmVulcain.vProtocol='proLocalHost' then UIBrVulcain.Protocol:=proLocalHost;
      if dmVulcain.vProtocol='proTCPIP' then UIBrVulcain.Protocol:=proTCPIP;
      if dmVulcain.vProtocol='proNetBEUI' then UIBrVulcain.Protocol:=proNetBEUI;
      // dialogue
      odOpen.Filter:='Base de donnée Vulcain|*.VLC' ;
      sdSave.Filter:='Sauvegarde Vulcain|*.FBK' ;
    end;
     
    procedure TfSauvegarde.bbRestaurationClick(Sender: TObject);
    begin
      dmVulcain.UIBdbVulcain.Connected:=false;
      with UIBrVulcain do
      begin
        Database:=eVLC.Text;
        BackupFiles.Clear;
        BackupFiles.Add(eFBK.Text);
        mLog.Clear;
          try
            Run;
          except
            on E:Exception do mLog.Lines.Add('problème :'+E.Message);
          end;
      end;
    end;
     
    procedure TfSauvegarde.bbSauvegardeClick(Sender: TObject);
    begin
      dmVulcain.UIBdbVulcain.Connected:=false;
      with UIBbcVulcain do
      begin
        Database:=eVLC.Text;
        BackupFiles.Clear;
        BackupFiles.Add(eFBK.Text);
        mLog.Clear;
          try
            Run;
          except
            on E:Exception do mLog.Lines.Add('problème :'+E.Message);
          end;
      end;
    end;
     
    procedure TfSauvegarde.BitBtn1Click(Sender: TObject);
    begin
      if odOpen.Execute then eVLC.Text:=odOpen.FileName;
    end;
     
    procedure TfSauvegarde.BitBtn2Click(Sender: TObject);
    begin
      if sdSave.Execute then eFBK.Text:=sdSave.FileName;
    end;
     
    procedure TfSauvegarde.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      Release;
    end;
     
    procedure TfSauvegarde.FormCreate(Sender: TObject);
    begin
      aInitVariables.Execute;
    end;
     
    procedure TfSauvegarde.UIBbcVulcainVerbose(Sender: TObject; Message: string);
    begin
      mLog.Lines.Add(Message);
    end;
     
    procedure TfSauvegarde.UIBrVulcainVerbose(Sender: TObject; Message: string);
    begin
      mLog.Lines.Add(Message);
    end;
     
    end.
    Je l'utilise avec fbclient.dll sans le chemin sur un serveur installé
    et avec fbembed.dll en monoposte
    restriction,
    la source du back up doit être sur le serveur Firebird
    la destination du restore doit être sur le serveur Firebird

    Cordialement

  9. #29
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Aurais-tu la gentillesse à présent de m'indiquer la procédure avec IBExpert pour exporter ma base de données sur le deuxième PC s'il te plait ? Faut-il installer IBExpert sur ce 2ème poste ?
    pas besoin de IBExpert (que je n'utilise pas d'ailleurs je lui préfére flamerobin et occasionnellement workbench)
    deux solutions au moins :

    Utiliser GBAK , commande en ligne fournie par Firebird
    quand j'ai un doute d'utilisation de GBAK je retourne voir cette page que je trouve bien réalisée

    ou

    utiliser les UIB (composant UIBbackup et UIBRestore) ce qui implique un peu de programmation (mais si peu) et comme l'a déjà indiqué alheuredudejeuner
    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. #30
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Bonjour,
    Citation Envoyé par jackvpt Voir le message
    Mon intention est de "simplement" copier / coller l'appli + la base de données + éventuellement une dll vers un autre PC pour mon appli fonctionne n'importe où .
    C'est ce que je fais moi même et ça fonctionne nickel.
    Tu en es où ?
    Car si j'en crois cette erreur :
    unavailable database
    Unsuccessful execution caused by an unavailable ressource.
    Error Code: 55
    ...c'est le chemin vers ta BD qui est incorrect, il ne la trouve pas sur ton "PC hôte". Comme "C:\Temp" n'existe pas forcément (tu installes ta BD où ?), le plus simple est de la mettre dans le dossier de ton appli et d'indiquer le chemin dans ton code par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    base.DatabaseName:=ExtractFilePath(Application.ExeName) + 'cahier.fdb';

  11. #31
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Quant au backup/restore je dirais qu'il n'est pas nécessaire mais il faut bien veiller à arrêter le serveur Firebird avant de copier, transférer.... ton fichier BD, sinon il risque fort d'être corrompu.
    Pour ce faire : Panneau de configuration > Services

  12. #32
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut heuuuuu
    Quant au backup/restore je dirais qu'il n'est pas nécessaire
    Oui, mais c'est incontournable, car il ne fait pas que copier une sauvegarde de la base, il la vide également de son cache, de plus c'est le seul moyen de migrer d'une version de Firebird à une plus récente. Et à ce moment là, firebird permet la sauvegarde à chaud sans éteindre l'application.

    A un moment ou un autre du processus de développement ces deux fonctions seront indispensables pour que l'utilisateur sauvegarde ses données, et pour qu'il les restaure, comme avec n'importe qu'elle application commerciale ou non.

    ...c'est le chemin vers ta BD qui est incorrect
    Quand au chemin de la base de données, j'ai beaucoup galéré au début, et j'ai du faire un gros travail pour l'écrire en dur par rapport à mon exe.

    Cordialement

    André

  13. #33
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut
    Ouillouillouillouillouille...

    En tout cas merci à tous de me donner un coup de main mais je n'y arrive toujours pas.

    J'ai donc essayé les différentes solutions:


    1) Le backup / restore de la BD

    Utiliser GBAK , commande en ligne fournie par Firebird
    Sauf que la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gbak -v -t -user SYSDBA -password "masterkey" c:\temp\cahier.fdb c:\temp\export.fbk
    me retourne l'erreur "your user name and password are not defined..." malgré mes essais de majuscules / minuscules et avec / sans guillemets .


    2) Copier / coller la BD

    arrêter le serveur Firebird avant de copier, transférer
    Ca marche pô non plus .


    3) Vérifier les chemins de la BD

    c'est le chemin vers ta BD qui est incorrect
    J'ai ajouté

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    base.DatabaseName:=ExtractFilePath(Application.ExeName) + 'cahier.fdb';
    mais ça ne change rien .


    4) Changer de dll

    J'ai ajouté à mon petit bout de code plus haut ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    base.LibraryName:=inputbox('Export','Library Name','');
    a) Quand je saisis un nom bidon j'obtiens

    Can't load library: bidon
    Ça, pour une fois, c'est normal.

    b) Quand je saisis fbclient.dll j'obtiens

    unavailable database
    Unsuccessful execution caused by an unavailable ressource.
    Error Code: 55
    c) Quand je saisis fbembed.dll j'obtiens

    unsupported on -disk structure for file c:\temp\cahier.fdb; found 32779, support 10
    can't format message 13:180 -- message system code -4
    Error code: 59
    d) Quand je saisis "j'en peux plus, ça fait 2 semaines que je suis au point mort" j'obtiens

    Can't load library: j'en peux plus, ça fait 2 semaines que je suis au point mort
    Firebird est donc sans pitié et dépourvu d'humanisme...

  14. #34
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    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 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Pas normal tout ca ?!!

    n'y aurait t-il pas un interbase trainant quelque part ?
    le service firebird est-il bien démarré ?
    un antivirus/firewall ne bloquerait-il pas l'accés au port 3050 ?

    si tu n'as pas changé les user et mdp d'une installation fiebird 'classique' cela devrait pourtant fonctionner

    un test avec soit QLI , soit un GDI quelconque (ibexpert, flamerobin , workbench etc ....) fonctionne ?
    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

  15. #35
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut je crois qu'il faut tout reprendre depuis le début
    pour fbembed

    Créer un projet vierge
    régler le chemin de compilation dans les propriétés du projet, dans le répertoire de firebird embeded. Mettre la base de donnée à l'intérieur de ce même répertoire.

    dans la form principale initialiser les variable
    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 TfMain.aInitVariableExecute(Sender: TObject);
    begin
      adAppli:=ExtractFilePath(Application.ExeName);
      adUserPath:=GetUserApplicationDataPath+'MonProjet\';
      adBDD:= adUserPath+'mabase.fdb';
      with UIBdbMabase do
      begin
        LibraryName:=adAppli+'fbembed.dll';
        DatabaseName:=fMain.adBDD;
        UserName:='SYSDBA' ;
        PassWord:='masterkey' ;
      end;
    end;
    UIBdbMabase est un TUIBDatabase

    attention UIBdbMabase.connected doit être à false pour la compilation
    dans les uses j'ai ajputer GZChkDir, de la suite de Frederic Guillien.

    adUserPath doit pouvoir se régler de différente manière, j'ai choisi la facilité

    ensuite tu branches un uibdataset + un uibtransaction, tu renseignes les propriétés datasource database et select
    ensuite branches un datasource et un dbgrid pour voir

    tu ajoutes un bouton
    dans le onclick tu met le code suivant
    voilà ça devrait le faire

    Si ça ne prends toujours pas, poste ta base de donnée avec une table et deux ou trois enregistrement, je te fais un exemple, avec D2009, mais ca devrait migrer facile sous D2010.

    Cordialement

    André

  16. #36
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Sauf que la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gbak -v -t -user SYSDBA -password "masterkey" c:\temp\cahier.fdb c:\temp\export.fbk
    me retourne l'erreur "your user name and password are not defined..." malgré mes essais de majuscules / minuscules et avec / sans guillemets .
    J'ai déjà eu ce genre de souci avec les utilitaires en ligne de commande
    Du coup je gère tout par Database Workbench, IBExpert, Flamerobin...

    Citation Envoyé par jackvpt Voir le message
    b) Quand je saisis fbclient.dll j'obtiens
    unavailable database
    Unsuccessful execution caused by an unavailable ressource.
    Error Code: 55
    Il ne trouve pas le fichier DB.

    Citation Envoyé par jackvpt Voir le message
    c) Quand je saisis fbembed.dll j'obtiens
    unsupported on -disk structure for file c:\temp\cahier.fdb; found 32779, support 10
    can't format message 13:180 -- message system code -4
    Error code: 59
    Là ça ressemble à un conflit de version !! Ton fbembed est il 2.1, 2.5 ?

  17. #37
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 105
    Points : 45
    Points
    45
    Par défaut
    Je manque malheureusement de temps pour essayer toutes les solutions et puis j'avoue que je baisse un peu les bras .

    Là ça ressemble à un conflit de version !! Ton fbembed est il 2.1, 2.5 ?
    Le fbembed est fourni avec Firebird 2.5 (il semble que ce soit la version 1.5.2.4731 du 18/12/2005).

    voilà ça devrait le faire
    Meu non, toujours pas. Il ne supporte pas le fbembed. Par contre fbclient passe bien mais pas quand je le change de PC .

    Je vais revoir du coté de ma base de données et sinon si ça ne marche pas contourner le problème et exporter la BD sous forme de fichier (type .txt) et l'importer dans une BD vierge sur le PC N°2.

  18. #38
    Membre confirmé
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2005
    Messages : 376
    Points : 632
    Points
    632
    Billets dans le blog
    4
    Par défaut
    Il ne supporte pas le fbembed.
    je ne développe qu'avec fbembed,

    (il semble que ce soit la version 1.5.2.4731 du 18/12/2005).
    2005, même pas la peine de vérifier, la 2.5 date de la fin de l'année dernière, tu n'as pas la bonne dll.

    Je vais revoir du coté de ma base de données et sinon si ça ne marche pas contourner le problème et exporter la BD sous forme de fichier (type .txt) et l'importer dans une BD vierge sur le PC N°2.
    Tu passes à coté de l'essentiel, je crois que tu ne dois pas être loin de la solution et que c'est juste le premier pas qui te bloque.

    relis la réponse de Paradise, elle résume bien tes soucis.

    André

    ps: bon courage

  19. #39
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par alheuredudejeuner Voir le message
    2005, même pas la peine de vérifier, la 2.5 date de la fin de l'année dernière, tu n'as pas la bonne dll.
    Je confirme, si le fbembed est 1.5 alors il s'agit de FB 1.5 ! J'utilise le 2.1 qui date de 2009...

  20. #40
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Ici un petit projet didacticiel que j'ai faits basé sur la base employee.fdb et les compos UIB. c'est juste pour tester l'utilisation en mode client/serveur et en mode embeeded de FireBird 2.5
    NB :

    • Il est necessaire d'avoir le serveur Firebird 2.5 pour tester le mode Client/Serveur.
    • J'ai déjà inclus les lib et fichiers nécessaires pour le mode Embeeded.

    Voici le lien si vous voulez le télécharger.
    http://www.multiupload.com/DEOG6QTAWB

    A+
    On progresse .....

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Comment attacher une base de données sans son fichier log
    Par callo dans le forum MS SQL Server
    Réponses: 16
    Dernier message: 05/06/2014, 11h03
  2. exporter une base de donnée oracle
    Par med_anis_dk dans le forum Oracle
    Réponses: 3
    Dernier message: 14/06/2006, 20h28
  3. comment exporter une base de données
    Par cool dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/04/2006, 13h23
  4. exporter une base de donnée dans excel
    Par ptitange dans le forum Access
    Réponses: 25
    Dernier message: 31/03/2006, 12h27
  5. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 14h28

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