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 :

Problème ODBC


Sujet :

Firebird

  1. #1
    Nouveau membre du Club
    Problème ODBC
    bonjour
    j'essaye de créer ODBC Firebird pour une BDD ,
    j'obtiens ce message d'erreur : Open database 'c:\chemein\bdd.gdb' failed pour tout un ensemble de bases de données .
    qu'en pense-vous ?
    merci
    chaud_soleil

  2. #2
    Membre éclairé
    Bonsoir.

    Vous n'êtes pas assez explicite dans la description du problème que vous rencontrez. Indiquez votre environnement de travail (OS, version de Firebird, 32 ou 64 bits).
    Les extension de fichier GDB sont principalement utilisées pour les base de données INTERBASE et depuis longtemps les FIREBIRD et INTERBASE de sont plus compatibles.
    S'agit-il bien d'une base FIREBIRD (et quelle version) ?
    Avez-vous bien installé le driver ODBC pour FIREBIRD ?

  3. #3
    Rédacteur/Modérateur

    Bonjour,
    Citation Envoyé par ddaime Voir le message

    Les extensions de fichier GDB sont principalement utilisées pour les base de données INTERBASE
    et encore l'extension GDB a été abandonnée car utilisée par Windows (à partir de Vista me semble t-il) pour des process qui provoquait une copie de ce fichier d'extension à chaque modification faite (imaginez la baisse de performances )
    Désormais les extensions par défaut pour Interbase sont, me semble t-il, IB et pour Firebird FB
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  4. #4
    Expert éminent sénior
    Salut à tous.

    GDB is the GNU Debugger.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  5. #5
    Nouveau membre du Club
    probleme BDD firebird
    bonjour
    je travaille sous delphi 7 / fiebird 2.5 / windows 7
    j'ai développe une solution depuis quelques années , et tout fonctionnait à merveille jusqu'au moment ou je voulais restaurer une sauvegarde d'un disque externe .
    et là je me rends compte que toutes mes sauvegardes présentent le même problème .
    j'ai essayé d'utiliser Gfix , aucun resulat
    avec Gstat j’obtiens : Wrong ODS version , expected 11,encountered 32767.
    merci
    chaud_soleil

  6. #6
    Expert éminent sénior
    Salut labchara.

    Citation Envoyé par labchara
    j'essaye de créer ODBC Firebird pour une BDD
    Commençons pas le début, l'installation.

    1) Vous trouverez le module à installer à l'adresse suivante :
    --> https://www.firebirdsql.org/en/odbc-driver/

    Vous avez la possibilité de charger ces deux modules, soit :
    --> Firebird_ODBC_2.0.5.156_Win32.exe
    --> Firebird_ODBC_2.0.5.156_x64.exe

    vous prenez la version qui correspond à celle de votre FireBird 2.5 soit la 32 bits ou soit la 64 bits.

    2) je lance l'installation et je sélectionne tout sans rien changer au paramétrage.

    3) je me rends sous windows dans "outils d'administration", puis dans "Sources de données ODBC ???? bits".
    Vous remplacez les "???" par 32 ou 64 bits selon l'installation que vous avez choisi.

    Se mettre sous l'onglet "Sources de données système".
    --> vous cliquez sur Ajouter
    --> vous sélectionnez "FireBird/Interbase(r) Driver".
    --> vous vous trouvez maintenant dans "FireBird ODBC Setup".

    ==> Data Source Name (DSN) : FireBird_Driver
    ==> Description ...........: FireBird_Driver
    ==> DataBase ..............: localhost/3050:F:\Wamp\bin\firebird\courant\examples\empbuild\EMPLOYEE.FDB
    ==> Client ................: F:\wamp\bin\firebird\courant\fbclient.DLL
    ==> DataBase Account ......: SYSDBA
    ==> Password ..............: masterkey

    Vous validez et dans "sources de données utilisateur", apparait "FireBird_Driver" pour la version 32/64 bits.

    4) dans le module installé, vous faites le test en cliquant sur le bouton "test connexion".
    Si vous avez "connection successful" c'est que tout a fonctionné normalement.

    5) comment se connecter à votre base de donnée en passant par ODBC FireBird ?
    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
    <?php
    /*-----------------------------------------------------*/
    /* Informations pour la connexion à la base de données */
    /*-----------------------------------------------------*/
     
    $nom_du_serveur  = "driver={Firebird/InterBase(r) driver};server=localhost/3050;database=F:/Wamp/bin/firebird/courant/examples/empbuild/employee.fdb;client=F:/Wamp/bin/firebird/courant/fbclient.dll;";
    $nom_utilisateur = "sysdba";
    $mot_de_passe    = "masterkey";
     
    /*----------------------*/
    /* Connexion au Serveur */
    /*----------------------*/
     
    try {
    	$link = odbc_connect($nom_du_serveur, $nom_utilisateur, $mot_de_passe);
    }
    catch (Exception $e)
    {
    	echo "Connection à FireBird impossible : ", htmlentities($e->getMessage());
    	die();
    }
    ?>

    Oui, je sais, c'est du php, mais c'est pour vous donner les paramètres de la connexion.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Rédacteur/Modérateur

    Citation Envoyé par labchara Voir le message

    je travaille sous delphi 7 / fiebird 2.5 / windows 7
    j'ai développe une solution depuis quelques années , et tout fonctionnait à merveille jusqu'au moment ou je voulais restaurer une sauvegarde d'un disque externe .
    et là je me rends compte que toutes mes sauvegardes présentent le même problème .
    Du coup le rapport avec ODBC , je vois pas vraiment ! il manque un détail : le nombre de bits 32 ou 64 ?

    j'ai essayé d'utiliser Gfix , aucun resulat
    avec Gstat j’obtiens : Wrong ODS version , expected 11,encountered 32767.
    expected 11, ça c'est facile il attend une version 11 c.a.d. Firebird 2.5 ou plus exactement 2.x au niveau de la structure
    32767, c'est un peu plus compliqué ! à partir de Firebird 2 et pour ne pas confondre Interbase avec Firebird un Bit de poids fort à été ajouté au numéro de version
    en Hexa la version 11 d'un backup fait par Firebird ODS 11 est écrit 800B (le B pour 11) soit 32779
    sources : ib-aid.com
    mauvaise nouvelle 32767 -> en hexa 7FFF ne nous donne pas de piste de ce côté il faut chercher ailleurs
    sources : Release Notes pour retrouver une mention de cette valeur et encore ! en tant que correction de bug de pour la version 1.5.3 (je n'ai pas bien saisi s'il s'agissait d'une correction de la version 1.5.2 ou plus généralement de la 1.5)

    Pistes envisageables :
    1- La base est une base Firebird 1.5 mal migrée (copie du fichier de base de données au lieu d'une opération backup avec FB1.5 puis d'un restore avec la nouvelle version Firebird)
    2- Plusieurs versions de SGBD coexistent (Interbase/FB) et ce peut être en plusieurs versions et la bibliothèque gds32.dll copiées dans les répertoires systèmes est d'une version x. Je parle à desseins des répertoires systèmes car il y a en sus la question de nombre de bits des versions
    3- L'extension du nom de fichier contenant la base de données gdb pose un problème. @Artemus24 GDB = aussi Gueule De Bois
    moins probable mais possible si le fichier se trouve sur le disque principal.

    si à ça on ajoute la couche ODBC on a affaires à un mélange plutôt détonnant !

    mon conseil, si on on privilégie
    La piste 1 : sur un poste "propre" installer Firebird 1.5 (si vous êtes sur qu'il s'agissait bien d'une base Firebird) et tenter un restore. Si cela fonctionne du coup on sait ce qu'il en est ! Refaire un backup "portable", désinstaller Firebird 1.5 proprement et installer Firebird 2.5 pour récupérer le backup FB1.5 enn faire un nouveau backup qui devrait cette fois-ci avoir le bon ODS

    Piste 2 : tout d'abord, virer l'ODBC qui pourrait parasiter les manipulations, supprimer gds32.dll des répertoires windows\system et windows\syswow64, contrôler que seul le service firebird est actif, tenter d'accéder à la base en faire un backup et un restore (dans une nouvelle base cela va de soit) et voir si cette nouvelle base est accessible

    Piste 3 : bien que peu probable, le mieux serait quand même d'utiliser les nouvelles extensions .fb donc s'il s'agit de Firebird et bien que l'on puisse utiliser n'importe lesquelles comme par exemple .fb15 .fb21 .fb3 qui serait encore plus significatives
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  8. #8
    Nouveau membre du Club
    bonjour
    tout d'abord mes remerciements à tous pour les infos.
    au fait le problème vient du support de sauvegarde qui contient les BDD.
    c'est une clé USB de mauvaise qualité , à l'affichage on a bien la liste des bases avec la bonne taille , mais une fois compressé ça me donne des fichiers vides .
    et d’après IBSurgeon Support , il n'y a rien à faire avec ces BDD.
    C'est bien dommage !!
    chaud_soleil

###raw>template_hook.ano_emploi###