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. #1
    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 Exporter une base de données et son programme de gestion
    Bonjour à toutes et à tous,

    J'ai développé une base de données sous Firebird qui comprend:
    - un fichier .fdb (la base de données)
    - un fichier .exe (le programme Delphi).

    Comment faire pour pouvoir exporter ces 2 fichiers vers un autre PC ?

    Dès que je veux changer la propriété ConnectionName du TSQLConnection j'ai une erreur du genre Argument non valide .

    Je suis sûr que la solution est simplissime mais je ne trouve pas mon bonheur sur le forum .

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    bonjour

    1- pour 'exporter' la base de données firebird il est fortement recommandé de passer par un backup/restore

    2-il faut que firebird soit installé sur le poste 'receveur' ou que ce soit du firebird embedded (donc que fbembed.dll ,soit dans le même répertoire que le programme , pour plus d'explication voir Firebird)

    3-la SQLConnection , là je passe la main car je n'utilise pas

  3. #3
    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 la réponse ,

    Je n'ai pas trouvé le fichier fbembed.dll sur mon PC, j'en déduis que cette option n'est pas disponible.

    Sinon, la SQLConnection permet d'indiquer le chemin d'accès à la base de données.

    Je cherche encore comment faire pour simplement utiliser mon programme sur un autre PC...

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Je n'ai pas trouvé le fichier fbembed.dll sur mon PC, j'en déduis que cette option n'est pas disponible.
    normal , je te suggère d'aller voir sur le site Firebird , la différence de version entre embedded et client serveur http://www.firebirdsql.org/manual/ufb-cs-embedded.html
    Sinon, la SQLConnection permet d'indiquer le chemin d'accès à la base de données.
    ca j'avais bien compris . N'utilisant pas DBexpress , j'indiquais simplement que je ne pouvais pas aider sur cette partie
    Je cherche encore comment faire pour simplement utiliser mon programme sur un autre PC...
    Y a pas photo . Soit faire un programme d'installation sois à la main

  5. #5
    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 encore SergioMaster ,

    Je vais me pencher sur la FAQ de Firebird et tenter de fabriquer un programme d'installation...

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    une réponse partielle ici/
    et des réponses dans la partie outils du forum ^^

  7. #7
    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
    +1

    Utilise InnoSetup pour l'install ! Normalement en y insérant les qques lignes citées dans le lien de SergioMaster mais que je te remets :
    [Files]
    ;Librairies FB
    Source: "D:\D2007\Sources\fb_embed.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\D2007\Sources\icudt30.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\D2007\Sources\icuin30.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\D2007\Sources\icuuc30.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\D2007\Sources\firebird.msg"; DestDir: "{app}"; Flags: ignoreversion
    Source: "D:\D2007\Sources\intl\*.*"; DestDir: "{app}\intl"; Flags: ignoreversion
    Source: "D:\D2007\Sources\udf\*.*"; DestDir: "{app}\udf"; Flags: ignoreversion
    Ton serveur Firebird est installé ! Ça fonctionne très bien pour moi.

  8. #8
    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 à vous deux pour vos réponses ,

    Je vais éplucher tout ça tranquillement ce week-end.

    Je note ce post comme "résolu".

    Bon week-end .

  9. #9
    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
    Me re-voilà...

    J'ai réussi à trouver le fichier fbembed.dll.
    J'ai réussi à utiliser Inno Setup et ça marche nickel .

    Sauf que j'ai toujours la même erreur lorsque je lance le .exe installé:

    Exception TDBXError dans le module xxx.exe en 00334DA6. Argument non valide: chemin_de_la_base_de_données
    Pourtant le chemin de la base de données est correct .

    Cela ne viendrait-il pas du paramétrage des composants de ma base de données ?

    Merci de m'aider à nouveau

  10. #10
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Sauf que j'ai toujours la même erreur lorsque je lance le .exe installé:
    Cela ne viendrait-il pas du paramétrage des composants de ma base de données ?
    si , mais il faut nous indiquer les paramétrages que tu utilises .
    De plus attention les DBX font appel a quelle bibliothéque ? (fbembedd, fbclient ou gds32 )

    as-tu vérifié que la base est bien fermée au moment de la compilation ?
    (je ne sais pas pourquoi mais à partir de vista cela posait un problème lors de mes déploiements de programme , depuis je fais toujours attention a ce "détail")

  11. #11
    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
    Bonjour,

    Le SQLConnection est paramétré comme ça:

    - Connected: False
    - ConnectionName: <le chemin d'accès de la BD sur le disque dur>
    - GetDriverFunc: getSQLDriverINTERBASE
    - KeepConnection: False
    - LibraryName: dbxfb.dll
    - VendorLib: fbclient.dll

    De plus attention les DBX font appel a quelle bibliothéque ? (fbembedd, fbclient ou gds32 )
    J'ai passé la propriété VendorLib à fbembed.dll mais ça ne change rien.


    as-tu vérifié que la base est bien fermée au moment de la compilation ?
    J'ai passé la propriété Connected à False mais pas mieux.

    Le message d'erreur sur le deuxième PC a changé, j'ai maintenant une "Exception EOleException dans le module... Argument non valide...".

    Je sèche toujours

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    Le message d'erreur sur le deuxième PC a changé, j'ai maintenant une "Exception EOleException dans le module... Argument non valide...".
    donc il y avait bien cette histoire de BDD ouverte au moment du chargement du programme (vicieux ce truc)

    Maintenant on arrive au cœur du problème : les DBX !! (que je n'utilise pas , je sais pas pourquoi j'y suis allergique ) je me demande s'il ne faut pas installer le service ou quelque chose du genre , il faudrait fouiller dans les documents Delphi de déploiement

    je pense aussi que cela peut venir du fait que indiquant
    - GetDriverFunc: getSQLDriverINTERBASE
    - VendorLib: fbclient.dll
    la vendor lib attendue est gds32.dll

    ceci dit c'est quelle version de Delphi et de Firebird ?

  13. #13
    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
    la vendor lib attendue est gds32.dll
    J'ai compilé le projet avec la propriété VendorLib à gds32.dll mais ça me remet "...EOleException..." sur le deuxième PC

    De plus, dès que je repasse la propriété Connected du SQLConnection à True, il me remet VendorLib à fbclient.dll tout seul.


    ceci dit c'est quelle version de Delphi et de Firebird ?
    J'utilise Delphi 2010 et Firebird 2.5 et seul Firebird est installé sur le deuxième PC.

    Merci encore de votre aide...

  14. #14
    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
    Il n'existerait pas plutôt GetDriverFunc: getSQLDriverFIREBIRD ?

    Pour le reste ça me parait bon mais... de même que SergioMaster : je n'utilise pas DBX !

  15. #15
    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
    Il n'existerait pas plutôt GetDriverFunc: getSQLDriverFIREBIRD ?
    Comme pour le reste, un coup de Connected à False puis à True et ça redevient getSQLDriverINTERBASE tout seul .

    Sinon, que me conseillez-vous pour remplacer DBX ? Sachant que tout le programme est issu d'un SQLConnector et de plusieurs SQLQuery pour accéder aux tables.

  16. #16
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 264
    Points : 41 665
    Points
    41 665
    Billets dans le blog
    64
    Par défaut
    Citation Envoyé par jackvpt Voir le message
    Sinon, que me conseillez-vous pour remplacer DBX ? Sachant que tout le programme est issu d'un SQLConnector et de plusieurs SQLQuery pour accéder aux tables.
    je dirais les UIB (free) ou FibPlus (payant)

    sinon , ce qui m'interpelle , c'est le EOleException <<--- ce qui tendrai a indiquer que la biblio dbx n'est pas déclarée

    un peu de lecture ici http://docwiki.embarcadero.com/RADSt...A9es_dbExpress
    c'est quelle version de D2010 ? pro, entreprise ..... ? (pro n'ayant pas le DBX firebird , il faut le savoir)
    les packages sont compilés avec le programme ?

  17. #17
    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
    +1 pour UIB, vraiment très simple d'utilisation et je ne pense pas que tu galères pour faire le transfert.

  18. #18
    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
    Ouillouillouille...

    Merci encore de votre aide mais tout ça n'est pas très simple.

    D'une part j'ai creusé la piste
    et j'ai installé les dll indiquées dans le répertoire du programme et dans Windows/System32 mais j'ai toujours la même erreur.
    Il me reste encore à comprendre l'utilité et le fonctionnement de dbxconnections.ini.


    D'autre part j'ai essayé de transformer mes composants DBX en UIB mais soit j'ai des messages d'erreur (...EStackOverflow...Débordement de pile...) soit Delphi plante. J'ai l'impression que la base Firebird est mal digérée par IB.

    Je continue à chercher...

  19. #19
    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
    D'autre part j'ai essayé de transformer mes composants DBX en UIB mais soit j'ai des messages d'erreur (...EStackOverflow...Débordement de pile...) soit Delphi plante. J'ai l'impression que la base Firebird est mal digérée par IB.
    Oula... louche tout ça

    Je ne sais pas comment tu as procédé mais avec UIB le plus simple est de procéder comme suit :
    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)

    Si seulement avec ça tu as du StackOverflow on trouvera vite d'où ça provient

  20. #20
    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
    Toujours pas très simple,

    J'ai donc essayé avec les IBDatabase et consorts mais j'ai des messages d'erreur.
    J'ai téléchargé les composants UIB mais je n'arrive pas à les installer...

    Peux-tu me fournir un lien avec les bons composants et une manière SIMPLE de les installer s'il te plait ?

    Ca commence à être bien galère cette affaire mais je ne perds pas (encore) espoir...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 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, 12h03
  2. exporter une base de donnée oracle
    Par med_anis_dk dans le forum Oracle
    Réponses: 3
    Dernier message: 14/06/2006, 21h28
  3. comment exporter une base de données
    Par cool dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/04/2006, 14h23
  4. exporter une base de donnée dans excel
    Par ptitange dans le forum Access
    Réponses: 25
    Dernier message: 31/03/2006, 13h27
  5. aide pour exporter une base de donnée
    Par matt55 dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 06/04/2004, 15h28

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