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

Firebird Discussion :

[FB1.5] Version embedded - Impossible d'accéder à la base


Sujet :

Firebird

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut [FB1.5] Version embedded - Impossible d'accéder à la base
    Bonjour à tous,

    je tente d'accéder à ma base de donnée embarquée via une application.

    J'ai donc suivi la procédure d'installation du server embarqué :

    Il suffit de copier fbembed.dll dans le répertoire de votre application, puis de le renommer en fbclient.dll ou
    gds32.dll, selon vos besoins de connectivité. Faites des copies sous les DEUX noms si vous souhaitez utiliser les
    outils serveur (isql, gbak, etc.)
    Copiez également firebird.msg, firebird.conf (si nécessaire) et ib_util.dll dans le même répertoire.
    Si votre application utilise des bibliothèques externes, par exemple le support international (fbintl.dll) ou des
    bibliothèques d'UDF, celles-ci sont en principe séparées du répertoire de l'application. Pour les utiliser, placez-les
    dans un répertoire qui émule l'arborescence du serveur Firebird, c'est-à-dire dans des sous-répertoires /intl et
    /udf juste sous le répertoire des fichiers racine de Firebird.
    Exemple
    D:\my_app\app.exe
    D:\my_app\gds32.dll (fbembed.dll renommé)
    D:\my_app\fbclient.dll (fbembed.dll renommé)
    D:\my_app\firebird.conf
    D:\my_app\aliases.conf
    D:\my_app\isql.exe
    D:\my_app\ib_util.dll
    D:\my_app\gbak.exe
    D:\my_app\firebird.msg
    D:\my_app\intl\fbintl.dll
    D:\my_app\udf\fbudf.dll
    A ce stade, démarrez votre application. Elle utilisera le serveur embarqué comme une bibliothèque cliente et sera
    en mesure d'accéder aux bases de données locales.
    Ensuite, côté application, j'essai d'accéder à une base 'TEST.FDB'. Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var conString : String = "ServerType=1;Database=TEST.FDB;";
    var obj  : Object = ssCore.ADO.setConnectString({connectString: conString},{sync:true});
    Mais ca ne marche pas.

    Est ce que ma chaine de connection est valide?

    Y a t'il autre chose à faire que ce qui est marqué plus haut?

    Merci d'avance pour vos conseils...

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Quelle est ta version de FB ?
    La procédure que tu indiques correspond à la v1.5, sauf erreur.

    @+ Claudius

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Oui oui, c'est pour la version 1.5.

    J'ai téléchargé le package Firebird-1.5.3.4870-0_embed_win32 pour les dll à embarquer et Firebird-1.5.5.4926-3_win32 pour récupérer les exe.

    J'avais testé avec la version 2.0 de firebird, mais si on lance les exe de la version 2.0, on à une erreur sur la dll fbclient.dll.

    Quelqu'un voit il d'où pourrait venir le problème de connexion à la bdd?

  4. #4
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Je viens de passer à la version 2.03.

    J'ai donc suivi la procédure pour cette version :

    Just copy fbembed.dll, icudt30.dll, icuin30.dll and
    icuuc30.dll into the directory with your application.
    Then rename fbembed.dll to either fbclient.dll or
    gds32.dll depending on your database connectivity software.
    Then start your application and it will use the embedded
    server as a client library and will be able to access
    local datasases. You should also copy firebird.msg and
    firebird.conf (if necessary) to the same directory.

    If external libraries are required for your application,
    then you should have them separately. Most probably, it
    will be INTL support (fbintl.dll and fbintl.conf) or UDF
    libraries. To be able to use them, you should place them
    into the directory tree which emulates the Firebird server
    one, i.e. has subdirectories like /intl or /udf:

    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
    Mais toujours le même problème, j'ai testé juste la sélection dans une table (qui existe et qui possède bien des données), et impossible de récuprérer quoi que soit.

    Déjà, est ce que la chaine de connexion est correcte?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var conString : String = "ServerType=1;Database=TEST.FDB;";
    Il n'y a rien besoin de plus?

    Je ne comprend pas, comment mon appli va savoir avec cette chaine de connexion, qu'il faut exécuter les requêtes du isql.exe?

    Merci pour vos conseils...

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Up,

    personne pour valider la chaine de connexion?

    Merci

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je ne sais pas avec langage est construit ton application, mais pour le paramètre Database je verrais plus un chemin d'accès complet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var conString : String = "ServerType=1;Database=C:\MYAPP\TEST.FDB;";
    @+

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Ouai, j'ai testé aussi, mais ca ne marche pas.

    J'utilises le projecteur swfstudio, qui rajoute un accès system à des applications swf.

    Mais bon, je pense que la chaine de connexion ne diffère pas entre les langages. Non?

  8. #8
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    a priori pas trop, mais quelle pilote est utilisé ?

  9. #9
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Ben avec le driver odbc de firebird, ca marche sans souci.

    Mais ce que je voudrais c'est une base de données embarquée complètement autonome, donc une application qui n'a pas besoin d'un driver pour pouvoir utiliser la base embarquée.

    J'ai suivi cette méthode : http://www.firebirdsql.org/manual/ufb-cs-embedded.html

    Donc utilisation des dll pour communiquer directement avec la base. Mais ca ne semble pas marché, et je ne sais même pas en gros si c'est possible.

    Merci d'avance pour vos conseils

  10. #10
    Membre actif Avatar de TMuet
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2003
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 225
    Points : 288
    Points
    288
    Par défaut
    Sous WinVista, cela peut ne pas fonctionner.

  11. #11
    Membre expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Points : 3 715
    Points
    3 715
    Par défaut
    Citation Envoyé par tonic29 Voir le message
    Mais ce que je voudrais c'est une base de données embarquée complètement autonome, donc une application qui n'a pas besoin d'un driver pour pouvoir utiliser la base embarquée.
    il faut bien que tu causes avec le client, donc soit tu utilises un pilote existant avec le langage que tu utilises, soit tu appelles toi même les API.

  12. #12
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    609
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 609
    Points : 2 073
    Points
    2 073
    Par défaut
    J'ignore si c'est réellement nécessaire en embarqué (puisqu'il n'y pas de security.fdb), mais à priori, j'aurais tendance à dire qu'il manque les login et mot de passe.

    En C#, je fais comme ça, avec le pilote Ado.Net
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cnx = new FbConnection(@"Database=D:\temp\test1.fdb;Uid=SYSDBA;Password=masterkey;ServerType=1");
    (C# : le @ permet ne de pas doubler les \ )

Discussions similaires

  1. [11g] Problème d'ouverture de base et impossible d'accéder à la base sous jdbc
    Par MAXJEREM dans le forum Administration
    Réponses: 1
    Dernier message: 19/04/2015, 18h45
  2. Impossible d'accéder à ma base de données
    Par tom77380 dans le forum Administration
    Réponses: 1
    Dernier message: 29/12/2011, 18h10
  3. Impossible d'accéder à la base
    Par soufian1364 dans le forum Administration
    Réponses: 3
    Dernier message: 14/08/2011, 08h47
  4. Impossible d'accéder à ma base de données
    Par safwa dans le forum Connexions aux bases de données
    Réponses: 6
    Dernier message: 13/01/2009, 18h10
  5. [A07] impossible d'accéder à la base
    Par triaguae dans le forum Sécurité
    Réponses: 8
    Dernier message: 30/12/2008, 10h57

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