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
Version imprimable
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
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 ?
Bonjour,
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 :roll:)
Désormais les extensions par défaut pour Interbase sont, me semble t-il, IB et pour Firebird FB
Salut à tous.
GDB is the GNU Debugger.
@+
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
Salut labchara.
Commençons pas le début, l'installation.Citation:
Envoyé par labchara
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 ?
Oui, je sais, c'est du php, mais c'est pour vous donner les paramètres de la connexion.Code:
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(); } ?>
@+
Du coup le rapport avec ODBC , je vois pas vraiment ! il manque un détail : le nombre de bits 32 ou 64 ?
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 structureCitation:
j'ai essayé d'utiliser Gfix , aucun resulat
avec Gstat j’obtiens : Wrong ODS version , expected 11,encountered 32767.
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 :roll:
3- L'extension du nom de fichier contenant la base de données gdb pose un problème. @Artemus24 GDB = aussi Gueule De Bois :ptdr:
moins probable mais possible si le fichier se trouve sur le disque principal.
si à ça on ajoute la couche ODBC :aie: 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
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 !!