Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird > Connexion aux bases de données
Connexion aux bases de données Forum d'entraide sur la connectivité Firebird: composants, drivers, transactions, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/04/2012, 22h28   #1
loukoum82
Membre régulier
 
Développeur informatique
Inscription : juillet 2007
Messages : 139
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 139
Points : 72
Points : 72
Envoyer un message via MSN à loukoum82 Envoyer un message via Skype™ à loukoum82
Par défaut Firebird + UIB 2.5

Bonjour,

Je developpe une appli delphi se connectant à Interbase, jusqu'a maintenant par l'intermédiaire du BDE, mais je l'ai squizzé en utilisant les composants UIB et ça fonctionne paas mal.
J'aimerai en profiter pour migrer vers Firebird, mais j'ai des problèmes lors de mes premiers tests sur une base Firebird; des requêtes avec des paramètres ne fonctionnent pas...

Ex :
Code :
1
2
3
4
5
6
7
8
DB.connected := true;
Transation.StartTransaction;
Qry.SQL.ADD('insert into DICO1 (CLE,LIBELLE) VALUES (:cle,:libelle)');
Qry.Params.bynameasInteger['cle'] := 2;
Qry.Params.bynameasString['libelle'] := 'Lib2';
Qry.ExecSQL;
Transaction.Commit;
DB.connected := false;
Ca fonctionne sur une base Interbase 7, mais sous une base Firebird j'ai cette erreur :
Code :
1
2
'validation error for column CLE, value "*** null ***"'
'The insert failed because a column definition includes validation constraints
Et avec un select, par exemple : SELECT LIBELLE FROM DICO1 WHERE CLE=:cle ou je mets le paramètre clé à 1, me retourne la valeur bien présente dans ma base Interbase ('Lib1') et ne me retourne aucune ligne dans la base Firebird....
loukoum82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2012, 08h29   #2
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 215
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 215
Points : 7 282
Points : 7 282
je suis plus que surpris , ce genre de code est du B.A.BA et fonctionne parfaitement chez moi !
Questions
Firebird et Interbase sont sur le même poste ?
tournent en même temps ?
- il y a peut être dans ces cas là un problème de DLL (la fameuse gds32)

comment a été migré la base de Interbase à Firebird ?
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2012, 08h45   #3
loukoum82
Membre régulier
 
Développeur informatique
Inscription : juillet 2007
Messages : 139
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 139
Points : 72
Points : 72
Envoyer un message via MSN à loukoum82 Envoyer un message via Skype™ à loukoum82
La base n'a pas encore été migrée. Ici je suis partie de deux bases vierges, dans lesquelles j'ai créé la même table pour mes tests...

Quant aux DLL, je précise le chemin de fbclient.dll quand c'est du Firebird, et sinon je laisse le composant utiliser gds32.dll quant c'est de l'interbase...
loukoum82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2012, 10h41   #4
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 215
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 215
Points : 7 282
Points : 7 282
Les UIB , c'est la version SVN ou la version Package (qui n'est/était pas à jour) ?
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2012, 12h04   #5
loukoum82
Membre régulier
 
Développeur informatique
Inscription : juillet 2007
Messages : 139
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 139
Points : 72
Points : 72
Envoyer un message via MSN à loukoum82 Envoyer un message via Skype™ à loukoum82
Merci, mais c'est bon, Mea Culpa, c'est ma faute j'avais fait une différence de traitement dans le cas où c'était Firebird, juste avant l'ExecSQL ou le Open, je modifiais le SQL.Text pour transformer les Boolean dans les requetes en Integer (car j'ai des booléens dans ma base Interbase, et je ne sais pas si c'est géré par Firebird). Du coup, la routine qui parse le SQL se redéclenche, et réinitialise les paramètres à NULL.....

Désolé du dérangement...
loukoum82 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web