Précédent   Forum des professionnels en informatique > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2008, 11h39   #1
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
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é :

Citation:
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 :
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...
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2008, 11h51   #2
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
Salut

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

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2008, 13h02   #3
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
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?
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2008, 17h35   #4
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
Je viens de passer à la version 2.03.

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

Citation:
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 :
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...
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 10h05   #5
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
Up,

personne pour valider la chaine de connexion?

Merci
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 10h17   #6
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 760
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 760
Points : 6 790
Points : 6 790
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 :
var conString : String = "ServerType=1;Database=C:\MYAPP\TEST.FDB;";
@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h15   #7
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
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?
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2008, 15h36   #8
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
a priori pas trop, mais quelle pilote est utilisé ?
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 10h20   #9
Invité de passage
 
Inscription : mai 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 11
Points : 0
Points : 0
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
tonic29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 10h54   #10
Membre confirmé
 
Avatar de TMuet
 
Homme Olivier Muet
Responsable de service informatique
Inscription : septembre 2003
Messages : 222
Détails du profil
Informations personnelles :
Nom : Homme Olivier Muet
Localisation : France

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

Informations forums :
Inscription : septembre 2003
Messages : 222
Points : 254
Points : 254
Sous WinVista, cela peut ne pas fonctionner.
TMuet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/02/2008, 12h17   #11
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

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

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
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.
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 11h58   #12
Membre confirmé
 
Inscription : juin 2002
Messages : 240
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 240
Points : 225
Points : 225
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 :
1
2
 
Cnx = new FbConnection(@"Database=D:\temp\test1.fdb;Uid=SYSDBA;Password=masterkey;ServerType=1");
(C# : le @ permet ne de pas doubler les \ )
vanquish est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h46.


 
 
 
 
Partenaires

Hébergement Web